查询对象数组中不包含等于字符串值的属性

Query where array of object does not contain property equal to string value

本文关键字:字符串 属性 包含 对象 数组 查询      更新时间:2023-09-26

给定以下文档,如何查询其中meta不包含具有特定名称的对象的文档?

{ "_id" : 1, "meta" : [ { "name" : "alpha", "date" : ISODate("2015-09-08T19:51:03.275Z") } ] }

我在找这个的反面:

db.content.find({'meta.name': 'alpha'})

我想查询相同的文档,像这样:

Find me the document where 'meta.name' !== 'beta'.

Try

 db.content.find({'meta.name': {$ne: "beta"}})

因为$ne也适用于嵌套数组

以前很少遇到这样的问题。假设您的收藏为"测试"。试试这个

db.test。找到({" _id ": 1,"元":{$ elemMatch:{"名称":{$ ne:"测试版"}}}});