MongoDB高级查询操作

更新时间:2023-06-18 09:52:32 阅读: 评论:0

MongoDB⾼级查询操作⽬录
MongoDB 中写法:
AND
语法:.find({'$and' : [字典1.字典2.字典3.。。。。字典n]})鱼翅鸡汤
查询 age ⼤于 20,并且current_home 为 贵州贵阳
隐式查询:
没有关键字 AND,出现,却能表达 与 的关系
'current_home':'贵州贵阳'}
)
显⽰查询:
[{'age':{'$gt':20}},{'current_home':'贵州贵阳'}]
})
显⽰,隐式混⽤,查询 age ⼤于 20,并且current_home 为 贵州贵阳,id ⼩于 15 的
OR
or 与 and 操作格式⼀样,只需把关键字 “$and” 换成 “$or” 即可沉浸式状态栏
查询⼦⽂档或数组中数据
嵌⼊式⽂档名.嵌套字段名
查询 age 为 19 的数据
'ur_info.age':19
})
一分一秒
只返回 age 字段,不返回其他任何字段
{'ur_info.age':19},
{'_id':0,'ur_info.age':1}
)
查询 size 包含 M 的字段,查询不包含 M 的字段
成都到西双版纳
查询某个范围的写法,与 .find() 查询写法⼀样
$size
查询数组⼤⼩,查询⼤⼩为 3 的数组
索引查数据,查询第⼀个索引,且值为 M 的值
银行卡余额怎么查聚合查询
按⼀定规则对数据集进⾏筛选,清洗
语法
collection.aggregate([‘阶段1’,‘阶段2’。。。‘阶段N’])
有 0 个阶段,写为 collection.aggregate(),多个阶段。每个阶段为字典
$match
语法:collection.aggregate([{'$match':{和 find 第⼀个参数相同}}])
查询 age 字段⼤于等于 20 的
从结果看与 .find() 结果⼀样,要配合其他关键字效果才明显
$project
与 find 相⽐好处就是查询出来的字段会变成单独的字段。不会再嵌套
语法:collection.aggregate([{'$project':{字段过滤语句,和 find 第⼆个字段相同}}])查询 name 与 age 字段,其他不返回,如果值为 1,就返回对应的,没有就全部返回 null
二万五千里长征简介{'$project':{'age':1,'name':1}}
])
查询 age ⼤于 20,只返回 name,age 字段,不返回 _id
{'$match':{'age':{'$gt':20}}},
{'$project':{'_id':0,'age':1,'name':1}}
])
添加新字段,原来是没有 hello 这个字段的
{'$match':{'age':{'$gt':20}}},去吻
{'$project':{'_id':0,'age':1,'name':1,'hello':'word'}}
])
复制现有字段,把 hello 字段,添加为现有字段 age 的值
{'$match':{'age':{'$gt':20}}},
{'$project':{'_id':0,'age':1,'name':1,'hello':'$age'}}
])
修改现有字段
{'$match':{'age':{'$gt':20}}},
{'$project':{'_id':0,'age':'lalala','name':1,'hello':'$age'}}
])
$literal
想添加⼀个字符串,但值就是 1,想添加⼀个字符串但以 $ 开头,与 $project 语法冲突了,要⽤ $literal
{'$match':{'age':{'$gt':20}}},
{'$project':{'_id':0,'age':'lalala','name':1,'hello':{'$literal':'$nihao'},'abcd':{'literal':1}}}
])
现有数据集:手表修理
$group
⾃带去重功能
语法:collection.aggregate([{'$group':{'_id':'$被去重的字段'}}])
对 name 去重
$max,$min,$sum,$avg
如果使⽤值为⾮数字字段,$sum 返回 0,$avg 返回 null,⽽ $mx,$min 是可以⽐较字符串⼤⼩的语法:
{'$group':
{'_id':'$被去重字段名',
'max_score':{'$max':'$字段名'},
'min_score':{'$min':'$字段名'},
'sum_score':{'$sum':'$字段名'},
'average_score':{'$avg':'$字段名'}
}
}
])
计算每个⼈最⼤值,最⼩值,总和,平均值
$sum 的值也可以使⽤数字 1,就变成了统计每⼀个分组内有多少条记录

本文发布于:2023-06-18 09:52:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/982343.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:查询   字段   返回   没有
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图