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

向量数据库NoSQL数据库关系型数据库

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

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

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

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

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

picture.image

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

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

picture.image

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

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

下面来看一下exists配合exists配合ne、ninnin、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 } })

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

如果文章对你有帮助,记得转发 留言、 点赞 加关注 哦!

如果你对目前的工作比较困惑,不知道如何去提升自己,可以了解一下:职场大咖带你助攻面试求职+职业发展

END

picture.image

所有原创文章

第一时间发布至此公众号「小博测试成长之路」

picture.image

长按二维码/微信扫码 添加作者

往期推荐

MongoDB-MongoDB简介

MongoDB-通过docker搭建一个用来练习的mongodb数据库

MongoDB-在windows电脑本地安装一个mongodb的数据库

MongoDB-使用mongo/mongosh命令行连接数据库

MongoDB-快速上手MongoDB命令行的一些简单操作

MongoDB-_id字段的含义介绍

MongoDB-插入数据insert、insertOne、insertMany、save用法介绍

MongoDB-表数据查询的基本用法介绍

MongoDB-查询语句中>、>=、<、<=、=、!=、in、not in用法介绍

MongoDB-查询语句中逻辑运算符not、and、or、nor用法介绍

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 NoSQL 的实践与探索
随着 NoSQL 的蓬勃发展越来越多的数据存储在了 NoSQL 系统中,并且 NoSQL 和 RDBMS 的界限越来越模糊,各种不同的专用 NoSQL 系统不停涌现,各具特色,形态不一。本次主要分享字节跳动内部和火山引擎 NoSQL 的实践,希望能够给大家一定的启发。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论