前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB 数组查询

MongoDB 数组查询

作者头像
阳光岛主
发布2019-02-19 10:13:31
2.3K0
发布2019-02-19 10:13:31
举报
文章被收录于专栏:米扑专栏米扑专栏

[root@sunrise16 bin]# ./mongo

MongoDB shell version: 2.0.0 connecting to: test

插入一个带有数组元素的文档 > db.food.insert({"fruit": ["apple", "banana", "peach"]}) > db.food.find() { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] }

查询数组元素中包含某个值的文档 > db.food.find({"fruit": "banana"}) { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] }

> db.food.find({"fruit": {"$all": ["banana"]}}) { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] }

查询匹配指定数组的文档。注意要完全相同,数量和顺序都不能有错,否则找不到

> db.food.find({"fruit": ["banana"]}) > db.food.find({"fruit": ["apple", "banana", "peach"]}) { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] } > db.food.find({"fruit": ["banana", "apple", "peach"]})

查询数组元素中包含多个指定值的文档,全部包含,顺序无关

> db.food.find({"fruit": {"$all": ["banana", "apple", "peach"]}}) { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] }

查询包含多个值之一的文档

> db.food.find({"fruit":["banna","cherry"]}) > db.food.find({"fruit":{"$all":["banna","cherry"]}}) > db.food.find({"fruit":{"$in":["banna","cherry"]}})

查询指定长度的数组。但不能查询指定长度范围的数组

> db.food.find({"fruit": {"$size": 3}}) { "_id" : ObjectId("4ea6a4ef0b12b1d429b4057f"), "fruit" : [ "apple", "banana", "peach" ] } > db.food.find({"fruit": {"$size": 2}}) > db.food.find({"fruit": {"$size": 4}})

模糊查询:

db.collname.find({"actors.name":/Catterfeld/i}, {"tag":1,"_id":1,"actors":1})

参考推荐:

MongoDB查询(数组、内嵌文档和$where)

mongodb 常用命令

MongoDB 查询上

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年12月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档