如何查询MongoDB中字段为null而非undefined的数据?已解决:Compass存在bug
如何查询MongoDB中字段值为
null而非undefined的数据? 要精准筛选出某个字段存在且值为null(排除字段不存在的undefined情况),正确的查询语句是这样的:
{$and: [{ tripduration: {$exists: true}}, {tripduration: null}] }
为什么这么写?
$exists: true用来确保目标字段确实存在于文档中,这样就排除了那些没有该字段的文档(也就是你说的undefined对应的情况);- 再加上
tripduration: null的条件,就能精准定位到字段存在且值恰好是null的数据。
你之前尝试类似语句却没成功,问题出在MongoDB Compass的bug上——它自动给你的字段名tripduration额外添加了字母r,变成了tripdurationr,导致查询的字段名和实际文档中的字段不匹配,自然查不到结果。修正字段名后,上面的查询语句就可以正常工作啦。
内容的提问来源于stack exchange,提问作者Yellowfun
相关产品推荐
相关产品推荐

