我有一个这样的集合:
posts = {
title: 'Hey',
content: '...',
authors: [{
id: 'id',
name: 'John'
}, {
id: 'id2',
name: 'david'
}]
};
我想进行查询。我找到了$ elementMatch,但我想反其道而行之。
我也找到了$ nin,但如果它适用于mycase我不会。
这是我想要做的:
db.posts.find({
authors: {
$notElemMatch: {
id: 'id'
}
}
});
我想找到除了那些人写的以外的所有帖子。
答案 0 :(得分:7)
您甚至不需要$elemMatch
,因为您只有一个字段条件。只需使用$ne
代替:
db.posts.find({ "authors.id": { "$ne": 'id' } });
有一个$not
条件,但它确实不需要在这里申请。