si j'ai deux schémas comme:
var userSchema = new Schema({
twittername: String,
twitterID: Number,
displayName: String,
profilePic: String,
});
var User = mongoose.model('User')
var postSchema = new Schema({
name: String,
postedBy: User, //User Model Type
dateCreated: Date,
comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});
J'ai essayé de les relier comme dans l'exemple ci-dessus mais je ne savais pas comment le faire. Finalement, si je peux faire quelque chose comme ça, ça me rendrait la vie très facile
var profilePic = Post.postedBy.profilePic
javascript
mongodb
mongoose
Gorkem Yurtseven
la source
la source
by:
selectropopulate
: mongoosejs.com/docs/populate.htmlAddendum: Personne n'a mentionné "Populate" --- cela vaut vraiment la peine de regarder la méthode de peuplement des mangoustes: explique également le référencement des documents croisés
http://mongoosejs.com/docs/populate.html
la source
Réponse tardive, mais ajoutant que Mongoose a également le concept de sous- documents
Avec cette syntaxe, vous devriez être en mesure de référencer votre en
userSchema
tant que type dans votre exemplepostSchema
:Notez le
postedBy
champ mis à jour avec typeuserSchema
.Cela incorporera l'objet utilisateur dans la publication, enregistrant une recherche supplémentaire requise en utilisant une référence. Parfois, cela peut être préférable, d'autres fois, la route ref / populate peut être la voie à suivre. Cela dépend de ce que fait votre application.
la source