J'ai défini un PostSchema
par mangouste:Une erreur de population de mangoustes
var PostSchema = new mongoose.Schema({
comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }],
editor: { post: { type: mongoose.Schema.Types.ObjectId, ref: 'Post' }, codes: [{ type:mongoose.Schema.Types.ObjectId, ref: 'Code' }] }
});
Je peux utiliser http://localhost:3000/#/posts/5879fc91b7a56002237f30f5
pour montrer tous les commentaires à cause de ce code:
router.get('/posts/:post', function (req, res, next) {
req.post.populate('comments', function (err, post) {
if (err) { return next(err); }
res.json(post);
});
});
Maintenant, je veux utiliser http://localhost:3000/#/posts/5879fc91b7a56002237f30f5/editor
pour obtenir tout le contenu de editor
, y compris codes
à l'intérieur. Mais les impressions de code suivant: ["5892bbc68abcc926f7f1dd93","5892bbdf8abcc926f7f1dd94","5892bc178abcc926f7f1dd95","5892bc1b8abcc926f7f1dd96"]
router.get('/posts/:post/editor', function (req, res, next) {
req.post.editor.populate('codes', function (err, editor) {
if (err) { return next(err); }
console.log(JSON.stringify(editor.codes));
res.json(editor);
})
});
Est-ce que quelqu'un sait comment remplir correctement codes
?
J'ai essayé 'req.post.editor.populate ({chemin: 'codes', modèle: 'Code'}, la fonction (err, rédacteur en chef) ...', il reste juste imprimé ids ... –
a modifié la réponse essayez-la maintenant Je ne comprends pas pourquoi écrivez-vous post.editor? –
Je ne peux pas le tester maintenant.Une remarque rapide: si nous utilisons 'req.post.populate (', devrions-nous utiliser ' function (err, editor) 'ou' function (err, post) '? –