MongoDB:如何查询字段为空或未设置的记录?

2023-11-25

我有一个Email文档有一个sent_at日期字段:

{
  'sent_at': Date( 1336776254000 )
}

If this Email尚未发送,则sent_at字段要么为空,要么不存在。

我需要获取所有已发送/未发送的计数Emails。我一直在试图找出查询此信息的正确方法。我认为这是获取发送计数的正确方法:

db.emails.count({sent_at: {$ne: null}})

但是我应该如何获取未发送的数量呢?


If the sent_at未设置时字段不存在:

db.emails.count({sent_at: {$exists: false}})

如果它存在且为空,或者根本不存在:

db.emails.count({sent_at: null})

如果它存在并且为空:

db.emails.count({sent_at: { $type: 10 }})

The 查询空或缺失字段MongoDB 手册的部分描述了如何查询空值和缺失值。

等式过滤器

The { item : null }查询匹配包含值为以下的项目字段的文档null or不包含item field.

db.inventory.find( { item: null } )

存在性检查

以下示例查询不包含字段的文档。

The { item : { $exists: false } }查询匹配不包含以下内容的文档item field:

db.inventory.find( { item : { $exists: false } } )

类型检查

The { item : { $type: 10 } }查询匹配only包含以下内容的文件item其值为null;即 item 字段的值为BSON类型 Null(类型编号10) :

db.inventory.find( { item : { $type: 10 } } )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB:如何查询字段为空或未设置的记录? 的相关文章

  • 使用 Morphia 配置 Spring Boot?

    我不想利用 Spring DATA MongoDB 支持 我想利用名为 Morphia 的 MongoDB ORM https github com mongodb morphia https github com mongodb morp
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • 块执行后变量返回 null

    我正在调度一个队列来在单独的线程上下载一些 flickr 照片 在 viewWillAppear 中 当我记录块内数组的内容时 它完美地显示了所有内容 dispatch queue t photoDowonload dispatch que
  • PowerShell 与 MongoDB C# 驱动程序方法不兼容?

    由 C 泛型引起的最新 MongoDB 驱动程序的问题 Cannot find an overload for GetCollection and the argument count 1 我可能可以使用其他没有泛型的 GetCollect
  • MongoDB 查询返回空数组

    有一个基本的 Express 应用程序连接到几乎 0 5 GB 的 MongoDB 数据库 当我运行时 router get function req res next medical data find State CT function
  • 将字符串数组转换为对象 Id 数组

    我有一个字符串数组 let stringObjectIdArray fssdlfsd343 43434234242 342424242 我想使用 mongoose 类型将字符串数组更改为对象 Id 数组 但它不起作用 它仅适用于字符串而不是
  • 如何中止 MongoDB shell 中正在运行的查询?

    我不敢相信我必须问这个问题 但是如何停止我刚刚运行的查询 该查询现在正在运行 并且显然需要很长时间才能在 Mongo shell 中完成 Control C似乎会使外壳崩溃 并吐出大量错误 中建议的愚蠢解决方案这个帖子 https stac
  • Mongoose 限制/偏移量和计数查询

    查询性能有点奇怪 我需要运行一个查询来计算文档总数 并且还可以返回一个可以限制和偏移的结果集 所以 我总共有 57 个文档 用户想要 10 个文档偏移 20 我可以想到两种方法来做到这一点 首先是查询所有 57 个文档 以数组形式返回 然后
  • $lookup结果中的$match

    我有下一个蒙戈代码 db users aggregate match and UserName eq administrator Company CompanyName eq test lookup from companies local
  • MongoDB $orderby 和 Sort 之间的区别

    我想获取最新的文档 这显然是一个文档 因此findOne应该可以正常工作 但findOne这里返回插入的第一个文档 所以我现在有两个选择要么使用 orderBy with findOne or use sort 功能与 limit in f
  • Mockito - thenReturn 始终返回 null 对象

    我正在尝试实现 Mockito 来测试特定方法 但 thenReturn 似乎总是返回一个 null 对象 而不是我想要的 CUT public class TestClassFacade injected via Spring priva
  • CoreMongooseArray 到普通数组

    我正在从一个架构中选出 2 个元素 并希望在另一个架构中进行更新 为此 我使用切片方法将数组中的前 2 个元素列入候选名单 但我越来越 CoreMongooseArray 元素1 元素2 而不是 元素1 元素2 如何删除 CoreMongo
  • 如何删除非空约束?

    假设创建了一个表 如下所示 create table testTable colA int not null 您将如何删除非空约束 我正在寻找类似的东西 ALTER TABLE testTable ALTER COLUMN colA DRO
  • MongoDB 和 Mongoose 访问一个数据库,同时针对另一个数据库进行身份验证(NodeJS、Mongoose)

    我有几个数据库 不想为每个数据库创建单独的用户帐户 MongoDB 支持使用另一个数据库中定义的帐户来验证对数据库的访问的概念 但语法示例很难获得 当我终于弄清楚时 我正准备提出一个问题 如果它对其他人有帮助 就放在这里 这是 mongod
  • mongoDB白名单IP

    我看到类似的帖子 但没有一个能帮助我解决我的问题 在学习了从头开始构建 MERN 应用程序的 Udemy 教程后 我陷入了 mongoose 连接的困境 这是我的 index js 代码 const express require expr
  • 在 MongoDb 上序列化仅获取属性

    使用 C 6 我可以写 public class Person public Guid Id get public string Name get public Person Guid id string name Id id Name n
  • 嵌入文档中的mongodb限制

    我需要创建一个消息系统 一个人可以在其中与许多用户进行对话 例如 我开始与 user2 user3 和 user4 交谈 因此他们中的任何人都可以看到整个对话 并且如果对话在任何时候都不是私密的 则任何参与者都可以将任何其他人添加到对话中
  • Spring Data MongoDB 和批量更新

    我正在使用 Spring Data MongoDB 并且想要执行批量更新 就像此处描述的那样 http docs mongodb org manual reference method Bulk find update Bulk find
  • Node.js 重用 MongoDB 参考

    我无法理解 Node js 例如 MongoDB 访问 这是我得到的 mydb js var mongodb require mongodb server new mongodb Server staff mongohq com 10030
  • 元素数组中数组的 MongoDB 全文

    当元素数组中的数组包含应与我的搜索匹配的文本时 我无法检索文档 以下是两个示例文档 id foo name Thing1 data text X X name Thing2 data text X Y id foo

随机推荐

  • 为什么这个解决方案在 Javascript 中有效,但在 Python 中无效? (动态规划)

    我正在学习有关动态编程的教程 并且正在努力在以下问题中实现记忆化 写一个函数叫canSum targetSum numbers 返回True仅当数组中的数字之和达到目标总和时 数组中的所有数字都是正整数 您可以多次使用它们来求解 Examp
  • 如何在 firebase 存储触发函数中获取公共下载链接:“onFinalize”?

    我正在编写一个 firebase 云函数 它将最近上传的文件的下载链接记录到实时数据库 exports recordImage functions storage object onFinalize object gt object 使我可
  • 修复 R/networkD3 包中 Sankey 流程图的顺序

    我想使用桑基流程图可视化美国各州的排名变化 即相对顺序的变化 我正在使用网络d3包并提出以下内容 library dplyr library networkD3 df lt data frame origins state name 1 1
  • 使用本地资源的 SVG 元素的语法

    将 SVG image element 与本地源一起使用时 例如C image png 和互联网上的来源 例如http www google de intl de ALL images logos images logo lg gif 我的
  • Docker-Compose 不会卷我的 php.ini 文件

    我正在尝试使用 docker compose 来存储我的 php ini 文件 以便我可以在本地计算机上即时进行更改 以查看它如何影响主机 不幸的是 到目前为止 我能够将 php ini 文件放入容器的唯一方法是直接在 Dockerfile
  • python:(lambda)函数的字典[重复]

    这个问题在这里已经有答案了 在将 lambda 函数存储到字典中时 我遇到了一些奇怪的行为 如果您尝试将一些默认值传递给循环中的函数 则只会使用最后一个默认值 这里有一些最小的例子 usr bin env python coding utf
  • 从 javascript 生成 Office 打开 XML excel 文件

    有没有办法从 javascript 生成 xlsx 文件并允许用户通过 javascript 下载它 此页面适合在没有互联网连接的情况下以 html 5 离线运行 你可以生成一个data URI 并让用户保存链接 然而 IE8 对数据 UR
  • 无法让 scipy.io.wavfile.read() 工作

    我正在尝试将 wav 文件读入数组 以便可以绘制数组并执行 FFT 我用wave模块打开了文件 现在我很挣扎 建议我使用 scipy io wavfile read filename mmap False 但我没有任何运气 这个函数应该完全
  • 如何在 QML 中创建交错网格视图?

    我正在尝试为我的 QML 应用程序创建一个交错网格视图 如下图所示 我尝试过使用 QML Flow 和 QML Grid 但是它们都没有产生我想要的设计 例如 当我使用 QML Flow 时 它会导致行始终以相同的 Y 值开始 我实现了一个
  • RestFB:使用 Facebook 应用程序获取用户访问令牌

    这就是我所拥有的 static AccessToken accessToken new DefaultFacebookClient obtainExtendedAccessToken
  • AsyncTaskLoader 与 AsyncTask

    Since Honeycomb和v4 Compatibility Library可以使用AsyncTaskLoader 据我了解 AsyncTaskLoader可以通过屏幕翻转等配置更改来生存 是否推荐使用AsyncTaskLoader代替
  • 带有自定义按钮的 Outlook 插件“主页”选项卡

    嘿 我正在尝试在默认情况下创建一个按钮HomeOutlook 2010 中的选项卡 问题是 在 VS2013 中 我添加了一个功能区 视觉 并添加了带有按钮的组 但它不断将其添加到选项卡插件 tab 我需要设置什么才能使自定义组 按钮显示在
  • 如何在Python中将二进制文件读取为十六进制?

    我想读取一个包含数据的文件 以十六进制格式编码 01ff0aa121221aff110120 etc 文件包含 gt 100 000 个这样的字节 有些超过 1 000 000 它们来自 DNA 测序 我尝试了以下代码 以及其他类似的代码
  • PHP中的INI文件到多维数组

    我有下一个 INI 文件 a b c 1 a b d e 2 我正在使用 parse ini file 解析该文件 它返回 array a b c gt 1 a b d e gt 2 但我想创建一个多维数组 我的输出应该是 array a
  • C++ 是否在 std::set、std::map 等的恒定时间内执行 begin/end/rbegin/rend ?

    对于诸如 std set 和 std map 之类的数据类型 其中查找发生在对数时间内 是否需要实现来维护开始和结束迭代器 访问开始和结束是否意味着可能在对数时间内发生查找 我一直假设开始和结束总是在恒定时间内发生 但是我在 Josutti
  • Gradle错误,创建目录失败

    今天在使用 roboelectric 和 junit 启动测试类时遇到了这样的问题 Information Gradle Executing tasks app assembleDebug app assembleDebugUnitTest
  • 如何仅使用 DOM 对象获取 leaflet.js 实例?

    我现在正在构建一个自定义 Knockout js 绑定来处理多边形的绘制 在这种情况下 Knockout API 仅向我提供对 DOM 对象的引用 以访问我需要更新的任何内容 然而 leaflet js 的设计似乎希望用户在其实现中存储地图
  • Plotly 停用 x 轴排序

    我想绘制一个条形图 x 轴上是顾问的 ID 范围在 1000 到 2000 之间 每个顾问都有特定数量的客户 y 轴 现在我想绘制一个条形图 但是 情节性地将顾问 ID 升序排序并将它们解释为整数 但事实并非如此 它们的顺序应该像我精心给出
  • 不带链接的 Typescript blob 文件名

    如何在打字稿中设置blob的文件名 对于 IE 我可以轻松设置文件名 但对于 Chrome 这看起来不可能 基本上我需要类似的东西这个解决方案但用打字稿 downloadFile data any var blob new Blob dat
  • MongoDB:如何查询字段为空或未设置的记录?

    我有一个Email文档有一个sent at日期字段 sent at Date 1336776254000 If this Email尚未发送 则sent at字段要么为空 要么不存在 我需要获取所有已发送 未发送的计数Emails 我一直在