MongoDB,如何将没有匹配元素的元素检索到数组中?

时间:2016-03-14 17:43:24

标签: mongodb

我有这样的元素:

{  "_id" : 1,
  "docs" : [
    { "key": "blah", "count": 2},
    { "key": "wow", "count": 10}
  ]
},
{  "_id" : 2,
  "docs" : [
    { "key": "blah", "count": 11}
}

我想要检索未定义docs.key == "wow"的元素。在这种情况下,元素"_id": 2

对于这个问题,我得出相反的结论:

db.getCollection('myCollection').find(
  {
    "docs.key": "wow"
  }
);

我尝试过$existsaggregate的组合,但我找不到合适的解决方案。

2 个答案:

答案 0 :(得分:4)

你可以这样做:

db.getCollection('myCollection').find({
    "docs.key": {$ne: "wow"}
});

答案 1 :(得分:0)

您是否尝试过$ne运算符

db.getCollection('myCollection').find(
  {
    "docs.key": {$ne : "wow"}
  }
);