MongoDB查询运算符

在下表中提供了每个查询运算符的含义,示例用法,以及适用的SQL等价词*
在这里插入图片描述
将上表的查询运算符可以细化为以下几类查询运算符:

比较查询运算符

$gt 匹配大于指定值的值
$lt 匹配小于指定值的值
$gte 匹配大于或等于指定值的值
$lte 匹配小于或等于指定值的值
$ne 匹配所有不等于指定值的值
$nin 匹配数组中不在某一范围内的值
$in 匹配数组中在某一范围内的值

$gt

含义:匹配大于指定值的值

例句:db.getCollection(‘student’).find({‘age’:{’$gt’:20}})

例句解释:查询student表中学生年龄大于20的表项
在这里插入图片描述
$lt

含义:匹配小于指定值的值

例句:db.getCollection(‘student’).find({‘age’:{’$lt’:20}})

例句解释:查询student表中学生年龄小于20的表项
在这里插入图片描述

$gte

含义:匹配大于或等于指定值的值

例句:db.getCollection(‘student’).find({‘age’:{’$gte’:22}})

例句解释:查询student表中学生年龄大于或等于22的表项

在这里插入图片描述
$lte

含义:匹配小于或等于指定值的值

例句:db.getCollection(‘student’).find({‘age’:{’$lte’:20}})

例句解释:查询student表中学生年龄小于或等于20的表项

在这里插入图片描述

$ne

含义:匹配所有不等于指定值的值

例句:db.getCollection(‘student’).find({‘age’:{’$ne’:20}})

例句解释:查询student表中学生年龄不等于20的表项

在这里插入图片描述

$nin

含义:匹配数组中不在某一范围内的值

例句:db.getCollection(‘student’).find({‘e_year’:{’$nin’: [2015, 2017]}})

例句解释:查询student表中学生入学年份不在2015到2017这个范围内的表项
在这里插入图片描述
$in

含义:匹配数组中在某一范围内的值

例句:db.getCollection(‘student’).find({‘age’:{’$in’: [20, 23]}})

例句解释:查询student表中学生年龄在20到23这个范围内的年龄
在这里插入图片描述

逻辑查询运算符

$nor 使用逻辑连接查询子句NOR将返回所有无法匹配两个子句的文档。
$or 使用逻辑连接查询子句OR将返回与任一子句的条件匹配的所有文档。

$nor

含义:使用逻辑连接查询子句NOR将返回所有无法匹配两个子句的文档。
语法:{ $nor: [ { }, { }, … , { } ] }

例句:db.student.find( { $nor: [ { age: { $lt: 20 } }, { major: “software engineering” } ] } )

例句解释:查询表中学生年龄大于等于20且专业非软件工程的学生
在这里插入图片描述
$or

含义:使用逻辑连接查询子句OR将返回与任一子句的条件匹配的所有文档。

语法:{ $or: [ { }, { }, … , { } ] }
例句:db.student.find({ $or: [ { age: { $lte: 20 } }, { major:“software engineering” } ] } )

例句解释:查询表中学生年龄小于等于20岁或者专业为软件工程的学生
在这里插入图片描述

数组查询运算符

$all
匹配那些指定键的键值中包含数组,而且该数组包含条件指定数组的所有元素的文档

含义:匹配那些指定键的键值中包含数组,而且该数组包含条件指定数组的所有元素的文档。

语法: { field: { $all: [ , … ] }
注:field:文档中键的名称(不使用双引号)。
例句1:db.student.find( {major: { $all: [ “software engineering”, “financial” ] } } )
例句解释:查询出在集合student中 major键值数组中包含 “software engineering”, "financial"元素的所有表项 (查找出专业为软件工程和金融的学生)
在这里插入图片描述
例句2:db.student.find( {position: { $all: [ ‘captain’,‘grouper’] } } )

例句解释:查询出在集合student中 position键值数组中包含 “captain”, "grouper"元素的所有表项 (查找职位中担任过队长、组长的学生)
在这里插入图片描述
$size

含义:如果数组字段是指定大小,则选择键值(数组)大小为指定字段的表项

例句:db.student.find({“position”:{"$size":1}})

例句解释:查询集合student中数组position长度为1的所有表项(查找只担任了一项职位的学生)

在这里插入图片描述

元素查询运算符

$exists 匹配具有指定字段的文档

含义:
当boolean为true,操作符匹配包含字段的文档,包括字段值为null的表
当boolean为false,操作符返回不包含对应字段的表项
语法:{ field: { $exists: } }
例句:db.student.find( { sex: { $exists: true } } )
例句解释:查询包含性别字段的表项

我在建表的时候,只给部分表项添加了性别sex的字段
在这里插入图片描述

然后用改操作符可以查出只含性别的表项
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值