我一直试图找出如何告诉mongodb过滤所有属性不存在或属性与特定id不匹配的元素。
这是我到目前为止所拥有的。当我添加关于not elemMatch
的第二个条件时,它无效。
bookLendingHistory = {
$or: [
{ 'lendHistory.borrowerId': { $exists: false } },
{ 'lendHistory.borrowerId': { $not: { $elemMatch: mongoose.Types.ObjectId(id) } } },
],
};
非常感谢。 :)
答案 0 :(得分:2)
您不需要$not
或$elemMatch
我相信这可以解决你的问题:
{'lendHistory.borrowerId':{ $ne: ObjectId("123456789012345678901234") } }
这将为您提供与ObjectId
不匹配的所有文件,包括没有该字段的文件。