Node.js 对MongoDB中的两个不同架构使用populate()

Node.js 对MongoDB中的两个不同架构使用populate(),node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有两个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.mo

我有两个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请求中为这些模式中的每一个使用填充。一个用于用户,一个用于来自这些模型的评论

router.get('/profiles/:profile', function(req, res, next) {
  req.post.populate('users', function(err, post) {
    if(err) { return next(err) }
    res.json(post);
  });
});
我只知道怎么叫一个


Mongoose是否允许您从两个模式填充

为了填充多个路径,可以按如下方式将以空格分隔的路径名字符串传递给任何文档上的“填充”方法:

Story
.find(...)
.populate('fans _creator') // space delimited path names
.exec()
这是直接从猫鼬文档中获取的

谢谢。get('/profiles/:profile',function(req,res,next){req.post.populate('users comments',function(err,post){if(err){return next(err)}res.json(post);});成功了