MongoDB-查询语句中$exists以及结合$ne、$nin、$nor、$not使用介绍

网友投稿 309 2022-09-19

MongoDB-查询语句中$exists以及结合$ne、$nin、$nor、$not使用介绍

今天来学习在mongodb中的一些其他查询语句的用法,主要包含以下内容:

1、$exists:查询是否存在某个字段

因为mongodb是非关系型数据库,因此,每条记录可能包含的字段都不一样,不同的数据之间可能存在一些字段没有写入值,想要筛选某个字段是否存在的时候,就可以使用$exists去进行筛选。

比如:筛选user表中存在age字段的记录:

db.getCollection("user").find({age:{$exists:1}})db.getCollection("user").find({age:{$exists:true}})

筛选user表中不存在age字段的记录:

db.getCollection("user").find({age:{$exists:0}})db.getCollection("user").find({age:{$exists:false}})

2、将$exists配合$ne、$nin、$nor、$not使用

每一个查询条件的的单独使用可能已经掌握,但是结合起来一起使用的话,也需要掌握。就像你可能已经学会了很多的技能,但是你不知道怎么把这些技能融会贯通的话,还有一定的提升空间。

下面来看一下将$exists配合$ne、$nin、$nor、$not使用演示:​

查询user表name字段等于“测试小博”,并且name字段存在的记录:

db.getCollection("user").find({name:{$ne:"测试小博",$exists:true}})

查询user表age字段不在xxx之间并且age字段存在的记录:

db.getCollection("user").find({age:{$nin:[18,45,70],$exists:true}})

查询user表age大于等于45或者是sex字段为空的记录:

db.getCollection("user").find({ $nor:[{age:{$lt:45},sex:{$exists:1}}] })

查询user表age不等于45并且age字段存在的记录:

db.getCollection("user").find({ age:{$not:{$eq:45},$exists:1 } })

以上的这些类似的用法,有时候可以帮助我们快速的去筛选出一些异常的脏数据之类的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[Apipost和Apifox哪个更好用?看这篇就够了!]
下一篇:SpringBoot+Vue实现前后端分离的网吧管理系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~