J'essaie d'ajouter un document incorporé à un champ de document existant. J'ai trouvé one fitting answer avec la recherche mais je cours dans des erreurs. J'utilise node.js, Express et Mongoose.Ajouter un document à un tableau de documents incorporé
Mes schémas de base de données:
var entry = new Schema({
name : { type : String, required : true},
description : { type : String, default: ""},
});
var compo = new Schema({
name : String,
description : String,
entries : [entry]
});
Et je suis en train de mettre à jour le tableau des entrées avec le code suivant
var entry = new entryModel();
entry.name = "new name";
entry.description= "new description";
compoModel.findOne(query, function (err, item) {
if (item) {
item.entries.push(entry);
item.save(function (err) {
if (!err) {
log.debug('Entry added successfully.');
} else {
log.error("Mongoose couldn't save entry: " + err);
}
});
}
});
Il donne une erreur: TypeError: Object.keys called on non-object
Qu'est-ce que j'ai manqué ?