MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Verweisen auf ein anderes Schema in Mongoose

Es hört sich so an, als ob die Populate-Methode das ist, wonach Sie suchen. Nehmen Sie zunächst eine kleine Änderung an Ihrem Beitragsschema vor:

var postSchema = new Schema({
    name: String,
    postedBy: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
    dateCreated: Date,
    comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});

Dann machen Sie Ihr Modell:

var Post = mongoose.model('Post', postSchema);

Wenn Sie dann Ihre Abfrage stellen, können Sie Referenzen wie folgt füllen:

Post.findOne({_id: 123})
.populate('postedBy')
.exec(function(err, post) {
    // do stuff with post
});