MongoDB 查询技巧(2) - null
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 查询技巧(2) - null相关的知识,希望对你有一定的参考价值。
参考技术A MongoDB 里面存的 文档, 字段可以 不存在 , 可以 为 null , 可以是 具体的值在开发过程中,经常需要去 查询某个字段有值的所有文档 , 那么此时怎么写才是正确且简单的呢?
新建一个集合 yu_fa_ce_shi
新增三条数据,如下图所示
a desc 字段为 null
b desc 字段有值,是一个字符串
c desc字段不存在
我们之前 查询有值 的场景是这样写的
功能是正常的
现在我们来研究一下有没有简化的写法
执行之后可以看到,a b 都查询出来了,也就是说
eq(null) 等价于 有值且为null 和 字段不存在 两种场景的并集(也就是 in )
再看一下反向的
执行之后得到结论: ne(null) 等价于 有值且不为null
由上可知 ne(null) 找到的是 有值且不为null , 但是因为 MongoDB 的字段可以随便存,类型没有限制
所以, ne(null) 对取出来的值类型没有做限制
那么,如果想要限制一下,比如: 有值且为 string 这种查询怎么写呢?
经过了解, MongoDB 有一种操作符叫 type type
截图看一下
所以我们的查询语句变为
结果如下,是符合我们预期的
那么问题来了,如何找到 有值且为null 呢?
根据上面的 string , 同理可知
type
以上是关于MongoDB 查询技巧(2) - null的主要内容,如果未能解决你的问题,请参考以下文章