У меня есть запись MongoDB, которая имеет следующую структуру записи.
{
"_id" : ObjectId("547e29f2421aa9302705679a"),
"runs" : [
{
"datetime" : "2014-04-2813:18:54.959579",
"tag" : "v1.0",
},
{
"datetime" : "2014-11-1122:45:13.841787",
"tag" : "v1.1",
}
],
"person1" : "person1_id",
"person2" : "person2_id"
}
Некоторые из моих записей будет иметь более или менее runs
, с разными tag
. Я пытаюсь сформулировать запрос, который скажет мне, какие записи имеют run
с tag=v1.1
, но не a run
с tag=v1.0
.
Я только начинаю изучать MongoDB, но я пришел с запросом:
db.mycollection.find({ $and: [
{ runs : { $elemMatch : { tag : 'v1.1' } } },
{ runs : { $elemMatch : { $ne: { tag : 'v1.0' } } } },
]})
однако, это все еще возвращает записи с tag=v1.0
. Я не знаю, где я здесь ошибся. Может ли кто-нибудь указать мне правильное направление?
Даже лучше, чем решение, которое я разместил. Принято! – Brett