Учитывая этот вид документов:Запрос не работает - MongoDB
"_id" : ObjectId("5461c8f0426f727f16010000"),
"f" : [
{
"t" : "ry",
"v" : 1972
},
{
"t" : "g",
"v" : [
"Crime",
"Drama"
]
},
{
"t" : "ml",
"v" : "English"
},
{
"t" : "k",
"v" : "movie"
},
{
"t" : "ai",
"v" : 972353
},
{
"t" : "ec",
"v" : 46
},
{
"t" : "rel",
"v" : true
}
]
}
Я хочу запросить для тех, которые «гу» больше, чем 1980, и который «г» (жанр) является «Драма» или «Thriller ».
Я сделал этот запрос:
db.items.find(
{
"$or": [
{"f": $elemMatch: {"t": "ry", "v": {$gt: 1980}}},
{"f": $elemMatch: {"t": "g", "v": {$in: ["Drama"]}}}
]
}
)
Но это не работает:
Error: Line 4: Unexpected token :
Любая идея, почему это?
Вы пропустили '{' после '$ elemMatch'' {"f": {"$ elemMatch": {"t": .... ' – Yogesh