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 の 3 つの情報を知っています。
たとえば、「ActionDVDs」という名前の DVD コレクションに ObjectId(X) を持つ映画を持っている「SomeName」という名前のユーザーがいるかどうかを知りたいと思っています。
私はすでにこのクエリを試しました:
user.findOne(
{
$and: [
{name: "SomeName"},
{dvd : {
$elemeMatch: { name: "ActionDVDs" }
},
{movies: {
$elemMatch: { _id: ObjectId(X) }
}
]
})
何か案が ?