我有一個具有以下記錄結構的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"
}
我的一些記錄將有一個不同的tag
或多或少runs
,每個。我想制定一個查詢,告訴我哪些記錄有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 2014-12-02 23:34:24