用猫鼬查询填充文档
Query populated document with mongoose
我有以下 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);
现在我想获取所有 review,其中用户的角色是 admin。我尝试了以下方式:
Review
.find( { 'user.roles': 'admin' } )
.populate('user')
.exec(function(err, review) {
console.log("review : ", review); // null
});
注意: "mongoose": "^4.2.9",
我该如何解决这个问题?提前致谢。
希望这段代码可以解决您的问题
Review.find()
.populate('user', null, { roles:"admin" })
.exec(function (err, review) {
if(err) {
console.log(err);
res.json(err);
}else {
var review = review.filter(function (review) {
return review.user !== null;
}).pop();
console.log(review);
res.json(review);
}
});
我有以下 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);
现在我想获取所有 review,其中用户的角色是 admin。我尝试了以下方式:
Review
.find( { 'user.roles': 'admin' } )
.populate('user')
.exec(function(err, review) {
console.log("review : ", review); // null
});
注意: "mongoose": "^4.2.9",
我该如何解决这个问题?提前致谢。
希望这段代码可以解决您的问题
Review.find()
.populate('user', null, { roles:"admin" })
.exec(function (err, review) {
if(err) {
console.log(err);
res.json(err);
}else {
var review = review.filter(function (review) {
return review.user !== null;
}).pop();
console.log(review);
res.json(review);
}
});