mongodb与$ elemMatch相反

时间:2015-10-27 10:34:59

标签: javascript mongodb mongodb-query

我有一个这样的集合:

posts = {
  title: 'Hey',
  content: '...',
  authors: [{
    id: 'id',
    name: 'John'
  }, {
    id: 'id2',
    name: 'david'
  }]
};

我想进行查询。我找到了$ elementMatch,但我想反其道而行之。

我也找到了$ nin,但如果它适用于mycase我不会。

这是我想要做的:

db.posts.find({
  authors: {
    $notElemMatch: {
      id: 'id'
    }
  }
});

我想找到除了那些人写的以外的所有帖子。

1 个答案:

答案 0 :(得分:7)

您甚至不需要$elemMatch,因为您只有一个字段条件。只需使用$ne代替:

db.posts.find({ "authors.id": { "$ne": 'id' } });

有一个$not条件,但它确实不需要在这里申请。