查找数组mongodb中没有关键字的所有文档[重复]

Posted

技术标签:

【中文标题】查找数组mongodb中没有关键字的所有文档[重复]【英文标题】:Find all documents not having a keyword in array mongodb [duplicate] 【发布时间】:2019-05-29 03:56:08 【问题描述】:

考虑这 3 个文档。


    '_id': ObjectId('5b9035e7b93fee6022c31201'),
    'keyword': ['a', 'b']
, 


    '_id': ObjectId('5b9035e7b93fee6022c31202'),
    'keyword': ['a']
, 


    '_id': ObjectId('5b9035e7b93fee6022c31203'),
    'keyword': ['b', 'c']

我想匹配关键字a 不存在的文档。

所以,结果应该是:


    '_id': ObjectId('5b9035e7b93fee6022c31203'),
    'keyword': ['b', 'c']

如何在 mongodb 中做到这一点?

【问题讨论】:

【参考方案1】:

您可以使用$nin查询运算符

db.collection.find( "keyword":  "$nin": ["a"] )

$ne查询运算符

db.collection.find( "keyword":  "$ne": "a" )

【讨论】:

谢谢,我之前尝试过nin,但没有作为数组传递。现在可以了。

以上是关于查找数组mongodb中没有关键字的所有文档[重复]的主要内容,如果未能解决你的问题,请参考以下文章

mongodb/mongoose findMany - 查找 ID 列在数组中的所有文档

Mongodb数组查询:查找数组中包含局外人的记录[重复]

MongoDb:查找具有重复项的精确数组匹配

MongoDB查找所有数组元素都等于某个值的文档

MongoDB $and 仅当 $and 在文档的同一数组索引中为真时才查询 - 特别是对于双重嵌套数组 [重复]

在mongodb中查询数组[重复]