HALLO ich MEAN stack
mit zwei Datenmodelle Pushing bin mit, die miteinander verwoben sind:Werte in MongoDB Modell in NodeJS
Post und in meinem
So Kommentar PostSchema
I
comments:{
type:mongoose.Schema.Types.ObjectId,
ref:'Comment'
haben und in meinem CommentSchema
Ich habe
post:{
type:mongoose.Schema.Types.ObjectId,
ref:'Post'
}
Nach Ich gebe einen Kommentar in meiner Ansicht ein Ich möchte, dass das Backend den Kommentar in der Kommentar-Sammlung speichert und den Kommentar auch in der Post-Sammlung speichert.
In meinem Server app.js Datei:
comment.save(function(err,comment){
if(err){return next(err);}
var post = new Post(req.post)
post.comments.push(comment)
// OR req.post.comments.push(comment);etc
post.save(function(err,post){
if(err){return next(err);}
res.json(comment);
})
})
jedoch, wo ich post.comments.push
oder req.post.comments.push
verwenden, erhalte ich eine Fehlermeldung auf der Kommandozeile, dass push is not a function
.
Der obige Code stammt aus einem Online-Tutorial [1]. Ich suchte das Netz, kann aber kein ähnliches Beispiel von push
finden.
Können Sie mich bitte wissen, wenn ich mit push
in die Irre geführt wurde und wenn es eine andere Möglichkeit gibt, dass ich das tun sollte?
[1] https://thinkster.io/mean-stack-tutorial#wiring-everything-up
Der Fehler bedeutet, dass 'post.comments' kein Array ist. – Shrabanee