Я получаю следующую ошибку, которая делает приложение в Node.js, используя выражение. Я использую Mongoose для моих операций БД ниже я подробно мой дизайнTypeError: Невозможно прочитать свойство «push» undefined 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");
});
Я могу индивидуально создавать объекты коллекции партии и песни, когда я добавляю песню в e, я получаю следующую ошибку:
TypeError: Cannot read property 'push' of undefined
Может кто-нибудь, пожалуйста, дайте мне знать, что я здесь отсутствует .. !!
Заранее спасибо. !!
Проблема с той линией, где я пытаюсь переместить объект в другой объект. –
Проблема по-прежнему существует, когда вы используете findOne, как предложено в ответ? –