1
je le schéma suivant:mangouste enregistrer intégré le document
var StorySchema = new Schema({
title: { type: String, required: true },
users: {
id: { type: Schema.ObjectId, ref: 'Users' },
creator: { type: Boolean }
},
maxlines: { type: Number, default: '10'},
lines: {
text: { type: String },
entered_at: { type: Date },
user: {
id: { type: Schema.ObjectId, ref: 'Users' }
}
},
created_date: { type: Date, default: Date.now },
updated_date: { type: Date, default: Date.now },
})
Je veux pousser les données dans lines
et je essaie de le faire avec la mise à jour ci-dessous:
exports.update = function (req, res) {
Stories
.findOne({ _id: req.params.id }, function (err, story) {
if (err) {
res.json(200, {
success: "false",
message: err.message
})
} else {
story.maxlines = story.maxlines - 1
story.lines.push ({
text : req.body.text,
'user.id' : req.headers.id,
entered_at : new Date().toISOString()
})
story.save(function(err, story) {
if (err) {
res.json(200, {
success: "false",
message: err.message
})
} else if (story) {
res.json({
sucess: "true",
message: story
})
}
})
}
})
}
Je reçois une erreur de TypeError: Object { user: {} } has no method 'push'
, pas tout à fait sûr comment mettre à jour les lignes et l'utilisateur associé à la ligne
Ah qui semble être, donc la façon dont je les lignes et les utilisateurs modifiés ne permettra pas à des entrées multiples parce qu'ils ne sont pas considérés comme des tableaux? Donc je devrais changer tous les schémas pour suivre le même modèle où je m'attends à ce qu'il y ait plusieurs enregistrements? – Tam2
Correct. Vous pouvez seulement faire 'push' sur un Array mais pas sur un objet général – zsong
Sur mon StorySchema j'ai aussi' Users: 'qui est actuellement rempli avec''id 'où le 'id' est peuplé comme un' _id' depuis le table des utilisateurs. Mais il peut y avoir plusieurs utilisateurs pour une histoire. Cependant, si je le change en '[UserSchema]' cela signifie que je vais devoir stocker les détails de l'utilisateur complet dont je ne veux pas. Recommanderiez-vous que je crée un autre '[UserStorySchema]' qui a juste 'id' comme quelque chose comme un type de schéma de pont ou y at-il un meilleur moyen? – Tam2