【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 3
千家信息网最后更新 2025年11月12日【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1, "school" : "marry" } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1, "school" : "marry" } { "_id" : ObjectId("54a9700e1b5afd45354fd086"), "id" : 3, "test3" : 3 } { "_id" : ObjectId("54a9701c1b5afd45354fd087"), "id" : 4, "test4" : 4 } { "_id" : ObjectId("54a970281b5afd45354fd088"), "id" : 5, "test5" : 5 } { "_id" : ObjectId("54a970351b5afd45354fd089"), "id" : 6, "test6" : 6 } { "_id" : ObjectId("54a970781b5afd45354fd08a"), "id" : 7, "test7" : 7 } { "_id" : ObjectId("54a970831b5afd45354fd08b"), "id" : 8, "test8" : 8 } { "_id" : ObjectId("54a970901b5afd45354fd08c"), "id" : 9, "test9" : 9 } { "_id" : ObjectId("54a9709c1b5afd45354fd08d"), "id" : 10, "test10" : 10 } { "_id" : ObjectId("54aa8a90652d8bdfa0566d34"), "id" : 11, "test10" : 11 } { "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] } { "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat", "orange" ] } { "_id" : ObjectId("54aa97f294dcf31069b590cc"), "id" : 14, "fruit" : [ "cherry", "banana", "apple" ] } >一、$all来匹配数组中的一组元素
> db.post.find({"fruit":{$all:["apple","banana"]}}) { "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] } { "_id" : ObjectId("54aa97f294dcf31069b590cc"), "id" : 14, "fruit" : [ "cherry", "banana", "apple" ] } >可以看到apple和banana的顺序无关系;
二、$size来查询匹配的数组长度;
> db.post.find({},{"id":1,"fruit":1,"_id":0}) { "id" : 2 } { "id" : 1 } { "id" : 3 } { "id" : 4 } { "id" : 5 } { "id" : 6 } { "id" : 7 } { "id" : 8 } { "id" : 9 } { "id" : 10 } { "id" : 11 } { "id" : 12, "fruit" : [ "apple", "banana", "peach" ] } { "id" : 13, "fruit" : [ "apple", "kumquat", "orange", "fruit01" ] } { } >> db.post.find({"fruit":{$size:3}}) { "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] } >三、$slice操作符
> db.post.find({"id":13}) { "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat", "orange", "fruit01" ] } >返回数组前两个值
> db.post.find({"id":13},{"fruit":{$slice:2}}) { "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat" ] } >
返回数组的后两个值
> db.post.find({"id":13},{"fruit":{$slice:-2}}) { "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "orange", "fruit01" ] } >返回数组中间的两个值
> db.post.find({"id":13},{"fruit":{$slice:[1,2]}}) { "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "kumquat", "orange" ] }四、利用数组下表查询
> db.post.find({"fruit.3":"fruit01"}){ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat", "orange", "fruit01" ] }>
数组
两个
查询
元素
操作符
长度
顺序
笔记
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发过程是按照项目的
华为搞软件开发的现在在哪办公
关于网络安全社交的英语作文
服务器双机备份怎么设置
计算机信息网络技术基础教学
河北省软件开发价格如何评估
阿里云应用服务器如何管理
软件开发公司的职务分布
Hadoop数据库安全
信息化网络技术服务口碑推荐
ps5登陆艾尔登法环服务器
河南华信网络技术有限公司
软件开发相关活动
行情服务器
wx协议 飞单软件开发
亿联服务器后台运行程序
服务器制作图片推荐
万网云服务器租用价格
石化网络安全宣传报道
网络安全感满意度上升
sip语音服务器
河南程序软件开发哪家正规
火鸟 文件型数据库
斗仙 服务器连接失败
计算机网络技术的工资
网络安全题材电影
长宁区网络技术服务诚信服务
郑州企业软件开发哪家实惠
网络安全服务工程师述职范文
正确把握网络安全____
- 上一篇
Redis常用命令(四)数据库管理、键管理、订阅发布
### 数据库管理keys pattern # 查找键,参数通配符查找keys * # 查看所有键keys n* # 查看以n开头的所有键keys *e # 查看以e结尾的所有键keys h?llok
- 下一篇
SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法
一、SQL Server 和SSMS的安装1. SQL的安装下载地址:SQL Server。进入下载地址选择Developer或者Express都可以。SQL Server 2019 Develope