我在查询数据库时遇到了问题,我想获取所有具有例如:管理员“54bd13864ec56c7c12310a79”在管理员数组中的元素。
我尝试使用“$in”,但它没有起作用,这可能与其是ObjectId有关吗?
trainerId = '54bd13864ec56c7c12310a79'
GroupSchema.find({'admins': { $in: [ trainerId ] }}
这是我的数据库:
{
"_id" : ObjectId("54b93e8e3801ae381e3433be"),
"groupName" : "Developers Groups",
"createdBy" : "Ido",
"creationDate" : "Jan 16 2015",
"users" : [
ObjectId("54b932c7ac3ec34a85e6246c")
],
"admins" : [
ObjectId("54b932c7ac3ec34a85e6246c"),
ObjectId("54bd13864ec56c7c12310a79")
],
"__v" : 0
}
Schema模型是:
module.exports = mongoose.model('Groups' ,
{
groupName: String,
createdBy: String,
creationDate: String,
admins: [{ type : mongoose.Schema.Types.ObjectId, ref: 'Users' }],
users: [{ type : mongoose.Schema.Types.ObjectId, ref: 'Users' }]
}
);