我正在尝试获取其用户数组中具有特定用户的文档
那是
Schema.books({
users:[ { type: mongoose.Schema.types.objectId, ref:'users' } ]
})
不是要获取特定数量的用户的图书文档,比如说两个用户。
我确实尝试过
Let usersId = [ user1, user2 ]
Book.find().where(users).in(usersId)
但是相反,我得到了所有user1的一个数组,而我是我的一员,我完全迷失了该怎么办,我真的需要您的帮助
答案 0 :(得分:1)
您需要使用$and
operator。没有$ and运算符,您将查询具有userId1或userId2
Book.find({
$and: [{ users: userId1 }, { users: userId2 }]
});
如果您的userId
循环很大或没有固定,您可以执行以下操作:
Book.find({
$and: userIds.map(v => ({users:v}))
});