Node.js 对MongoDB中的两个不同架构使用populate()
我有两个MongoDB集合-评论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
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);});成功了