And*_*rew 97 null exists mongodb mongodb-query
我有一个Email有sent_at日期字段的文件:
{
'sent_at': Date( 1336776254000 )
}
Run Code Online (Sandbox Code Playgroud)
如果Email尚未发送,则该sent_at字段为空或不存在.
我需要得到所有已发送/未发送的计数Emails.我一直试图找出查询此信息的正确方法.我认为这是获得发送计数的正确方法:
db.emails.count({sent_at: {$ne: null}})
Run Code Online (Sandbox Code Playgroud)
但是我应该如何计算未发送的数量呢?
jdi*_*jdi 161
如果在未设置的情况下sent_at字段不存在,则:
db.emails.count({sent_at: {$exists: false}})
Run Code Online (Sandbox Code Playgroud)
如果它在那里和null,或者根本没有:
db.emails.count({sent_at: null})
Run Code Online (Sandbox Code Playgroud)
tvs*_*tvs 13
如果您只想计算sent_at定义的值为null(不计算sent_at未设置的文档)的文档:
db.emails.count({sent_at: { $type: 10 }})
Run Code Online (Sandbox Code Playgroud)
Ani*_*lam 10
使用:
db.emails.count({sent_at: null})
Run Code Online (Sandbox Code Playgroud)
对count_at属性为null或未设置的所有电子邮件进行计数.以上查询与以下相同.
db.emails.count($or: [
{sent_at: {$exists: false}},
{sent_at: null}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108119 次 |
| 最近记录: |