前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB-查询语句中$exists以及结合$ne、$nin、$nor、$not使用介绍

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

作者头像
小博测试成长之路
发布2022-12-02 15:12:11
1.4K0
发布2022-12-02 15:12:11
举报
文章被收录于专栏:软件测试学习

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

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

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

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

代码语言:javascript
复制
db.getCollection("user").find({age:{$exists:1}})
db.getCollection("user").find({age:{$exists:true}})

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

代码语言:javascript
复制
db.getCollection("user").find({age:{$exists:0}})
db.getCollection("user").find({age:{$exists:false}})

2、将exists配合ne、nin、nor、

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

下面来看一下将exists配合ne、nin、nor、

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

代码语言:javascript
复制
db.getCollection("user").find({name:{$ne:"测试小博",$exists:true}})

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

代码语言:javascript
复制
db.getCollection("user").find({age:{$nin:[18,45,70],$exists:true}})

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

代码语言:javascript
复制
db.getCollection("user").find({  $nor:[{age:{$lt:45},sex:{$exists:1}}]  })

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

代码语言:javascript
复制
db.getCollection("user").find({ age:{$not:{$eq:45},$exists:1 }  })

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档