0
我得到下面的错误,使用快递在Node.js中执行应用程序。 我使用的猫鼬为我的数据库操作下面我详细说明了我的设计TypeError:无法读取未定义Mongoose的属性'推'
Party.js
var mongoose = require("mongoose");
var partySchema = new mongoose.Schema({
partyName: String,
songs: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Song"
}
]
});
module.exports = mongoose.model("Party", partySchema);
Song.js
var mongoose = require("mongoose");
var songsSchema = new mongoose.Schema({
videoId: String,
videoName: String
});
module.exports = mongoose.model("Song", songsSchema);
我App.js
app.post("/search/addSong", function(req, res) {
Party.find({partyName:"hello"},function(err,party){
if(err){
console.log("Failed in find");
} else {
console.log(party);
// console.log(typeof(req.body.videoId));
var videoId = req.body.videoId;
var newSong = [ {
videoId:req.body.videoId,
videoName:req.body.videoName
}
];
Song.create(newSong, function(err, createdSong){
if(err){
console.log("Error creating a new party");
} else {
console.log(createdSong);
party.songs.push(createdSong);// ERROR ON THIS LINE
party.save();
res.redirect("/search");
}
});
}
});
res.render("addSong");
});
当我将歌曲添加到歌曲时,我可以单独创建派对和歌曲的收藏对象我得到以下错误:
TypeError: Cannot read property 'push' of undefined
任何人都可以请让我知道我在这里失踪.. !!
在此先感谢。
问题是与我试图将对象推入另一个对象的行。 –
当您按照答案中的建议使用findOne时,问题仍然存在。 –