【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 3
千家信息网最后更新 2026年10月31日【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安全错误
数据库的锁怎样保障安全
新华互联网科技
互联网科技英文
亿策互联网科技
汇久创客互联网科技
上海万想互联网科技
深圳艾佳互联网科技
互联网科技创新企业排名
富国互联网科技创新基金
温州喔噻互联网科技有限公司
互联网科技寓意
银川新华互联网科技职业技术培训学校图片
科技互联网大厂
晓花互联网科技有限公司网址
未来五年的互联网科技
中和天地互联网科技有限公司
无锡工业互联网科技有限公司
中天科技中国工业互联网
悟空问答互联网科技
马化腾互联网科技教学
好易买互联网科技
上海喔噻互联网科技有限公司
互联网科技工作委员会主任
亿账通互联网科技
互联网科技宣传片
四个字互联网科技公司取名
佩信高科技互联网
创业天下互联网科技有限公司
常德市电业局互联网科技部
华服互联网科技官网
中化能源互联网科技招聘
- 上一篇
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