我在所有地方和Mongoose的文档中搜索都没有成功。
我想搜索我的用户集合中来自“管理员”类型的所有内容。
UserTypeSchema = new Schema({
name: {
type: String,
required: true
},
user_type: [
{
type: Schema.Types.ObjectId,
ref: 'User'
}
],
}, {
strict: true
});
UserSchema = new Schema({
user_type: {
type: Schema.Types.ObjectId,
ref: 'UserType'
},
}, {
strict: true
});
查询按类型查找用户(作为参考的另一个模型)
User
.find()
.populate('user_type', 'name', null, {'user_type': 'Admin'})
.exec(function(err, users) {
res.send(users);
});
由于
答案 0 :(得分:1)
我看到两种可能性,要么您查询管理员的类型架构,要么使用返回的对象来查询这样的用户:
Type.findOne({name: 'Admin'}, function(err, type) {
User.find({user_type: type._id}, function(err, users) {
...
})
})
或者,如果您的类型架构中有对用户的引用,那么您不能简单地执行:
Type.findOne({name: 'Admin'}, function(err, type) {
var users = type.user_type;
...
})
或者我读错了你的架构?