我正在尝试使用 MongoDB 将值搜索到许多子数组中的查询。db 架构如下所示:
user:
[
{
name: "SomeName",
dvd: [
{
collectionName: "ActionDVDs",
movies: [
{
_id: ObjectId(X),
mark: 10
},
{
_id: ObjectId(Y),
mark: 8
}
}
]
}
...
]
我知道三个信息:user.name、dvd.collectioName、movies._id。
例如,我想知道是否有任何名为“SomeName”的用户将带有 ObjectId(X) 的电影放入名为“ActionDVDs”的 dvd 集合中。
我已经尝试过这个查询:
user.findOne(
{
$and: [
{name: "SomeName"},
{dvd : {
$elemeMatch: { name: "ActionDVDs" }
},
{movies: {
$elemMatch: { _id: ObjectId(X) }
}
]
})
任何想法 ?