我试图找到所有有这个字段的文档,不管它包含的确切值是多少;我只对它的存在感兴趣.

下面是一个例子:

{  
   "payload":{  
      "products":{  
         ...
      },
      "discount":{  
         "type":"1%",
         "value":"1",
         "name":"New Year Discount 1%"
      }
   }
}

我需要针对任何具有名称为discount的字段的文档.如何编写查询以获取此类文档?

推荐答案

这里有一个$exists位操作员:

db.collectionName.find({"payload.discount": {$exists: true}})

Mongodb相关问答推荐

如何拉平mongo DB中的对象并在根目录中保存时有条件地重命名字段?

无法从我的NextJS 14应用程序中的Redux工具包2.0中提取数据

我无法将文档发送到我的MongoDB集合,因为它告诉我使文档无效

mongo如何通过聚合加载嵌套文档

从 node.js 的 mongodb 集合中删除文档

PHP 无法加载动态库 (mongo.so)

Meteor 中的平均聚合查询

如何使用 mongoose 从 MongoDb 获取数据?

Meteor mongo 驱动程序可以处理 $each 和 $position 运算符吗?

MongoDB 2.1 聚合框架总和匹配名称的数组元素

从 mongodb 中的副本配置重新开始

在 mongodb 的一次更新调用中推送到两个单独的数组

java.lang.IncompatibleClassChangeError:Implementing class Mongo

MongoDB - 我如何找到另一个集合中的文档未引用的所有文档

MongoDB服务器仍然可以在没有凭据的情况下访问

Mongodb Atlas:管理员未授权执行命令

将新值推送到 mongodb 内部数组 - mongodb/php

MongoDB 的 MMAPV1、WiredTiger 或 In-Memory StorageEngine 如何 Select ?

缩短 MongoDB 属性名称值得吗?

我可以使用字符串作为 mongodb 文档的 ID 类型吗?