【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 3
千家信息网最后更新 2025年01月20日【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安全错误
数据库的锁怎样保障安全
共享软件开发实验总结
总结概括服务器端的安全策略
互未来互联网科技
卖菜网络技术
数据库采购订购模块
浪潮3u服务器滑轨安装
无锡互联网智慧医院软件开发
软件开发关键技术及其适用性
驱动集成软件开发
网络安全等级测评二级
合肥服务器工控机价格
常州微信软件开发
阿里云 网络安全威胁信息
2021年网络安全发展趋势预测
网络安全豆片
网络安全保密检查整改报告
西游骑行网络技术有限公司
黄山网络安全考试
数据库不同表主键能不能相同
车企网络安全吗
服务器一个月能用多少电
云服务器如何做数据库异地备份
广东星湖互联网科技有限公司
管理主机开启ntp服务器
信息网络安全思维
计算机网络技术麻烦吗
数据库实践题
国家网络安全第三方检测机构
手机内置软件开发
读书软件开发流程
- 上一篇
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