我有两个MongoDB集合 - 评论
var mongoose = require('mongoose');
var CommentSchema = new mongoose.Schema({
body: String,
author: String,
upvotes: {type: Number, default: 0},
post: { type: mongoose.Schema.Types.ObjectId, ref: 'Profile' }
});
mongoose.model('Comment', CommentSchema);
和用户
var mongoose = require('mongoose');
var UserSchema = new mongoose.Schema({
userName: String,
userJobRole: String,
userEmail: String,
userPhone: String,
userTimeZone: String,
post: { type: mongoose.Schema.Types.ObjectId, ref: 'Profile' }
});
mongoose.model('User', UserSchema);
我想在get请求中为每个模式使用populate。一个用户和一个用于这些模型的评论。
router.get('/profiles/:profile', function(req, res, next) {
req.post.populate('users', function(err, post) {
if(err) { return next(err) }
res.json(post);
});
});
我只能弄清楚如何打电话。
Mongoose是否允许您从两个模式填充?
答案 0 :(得分:1)
为了填充多个路径,您可以将空格分隔的路径名字符串传递给任何文档上的populate方法,如下所示:
Story
.find(...)
.populate('fans _creator') // space delimited path names
.exec()
这是直接来自Mongoose docs http://mongoosejs.com/docs/populate.html