【发布时间】:2016-06-18 13:03:15
【问题描述】:
我有以下 mongodb/mongoose 数据模型::
var UserSchema = new Schema({
name: String
, roles: [] // admin or client
/* others object */
});
mongoose.model('User', UserSchema);
var ReviewSchema = new Schema({
title: String
, user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Review', ReviewSchema);
现在我想获取用户角色为 admin 的所有 review。我尝试了以下方法:
Review
.find( { 'user.roles': 'admin' } )
.populate('user')
.exec(function(err, review) {
console.log("review : ", review); // null
});
注意: "mongoose": "^4.2.9",
我该如何解决这个问题?提前致谢。
【问题讨论】:
-
您没有指定您使用的是哪个版本的猫鼬。当前文档说使用
Schema.Types.ObjectId,而不是Schema.ObjectId。
标签: node.js mongodb mongoose-populate