`

mongodb数组查询

 
阅读更多

[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}}) 

分享到:
评论

相关推荐

    MongoDB数组与文档查询.pdf

    MongoDB数组与文档查询.pdf 学习资料 复习资料 教学资源

    MongoDB数组更新操作符.pdf

    MongoDB数组更新操作符.pdf 学习资料 复习资料 教学资源

    MongoDB的数组查询操作符.pdf

    MongoDB的数组查询操作符.pdf 学习资料 复习资料 教学资源

    mongodb实现数组对象求和方法实例

    mongodb在计算集合数组值时候,我们通常会想到使用$group与$sum,但是如果是数组里面多个json对象,并且还需要根据条件过滤多个对象的内容该如何处理? 现在让我们来实现它,假设mongodb中有个user集合,其数据内容...

    Thinkphp使用mongodb数据库实现多条件查询方法

    主要介绍了Thinkphp使用mongodb数据库实现多条件查询方法,修改了mongodb驱动文件来实现复合查询、多条件查询,需要的朋友可以参考下

    mongoDB 多重数组查询(AngularJS绑定显示 nodejs)

    主要介绍了mongoDB 多重数组查询(AngularJS绑定显示 nodejs),需要的朋友可以参考下

    MongoDB下根据数组大小进行查询的方法

    主要介绍了MongoDB下根据数组大小进行查询的方法,分别实现了指定大小的数组和某个范围的数组,需要的朋友可以参考下

    sift.js, 使用mongodb查询筛选数组.zip

    sift.js, 使用mongodb查询筛选数组 使用mongodb查询验证对象的&筛选器数组 扩展文档 checkout http://docs.mongodb.org/manual/reference/operator/query/插件功能:Support

    MongoDB各种查询操作详解

    主要介绍了MongoDB各种查询操作详解,包括比较查询、关联查询、数组查询等,需要的朋友可以参考下

    MongoDB如何对数组中的元素进行查询详解

    MongoDB的数组是一系列元素的集合,使用中括号 [] 表示数组,例如:[1,2,3]的元素是整数值,[{name:”t5″}, {name:”t7″}],[ {name:”t5″, age:21}, {name:”t7″, age:22} ]的元素是doc。 在MongoDB中,数组...

    《10天掌握MongoDB》2012完整版.pdf[带书签]

    数组查询-$ELEMMATCH 游标 $WHERE 排序分页 排序分页-排序比较的顺序 排序分页-分页示例 排序分页-不使用SKIP分页 结束语 第四天:使用索引 创建索引 修改索引 删除索引 唯一索引 地理空间索引-创建1 地理空间索引-...

    Mongodb最佳实践

    3.丰富查询语句,比如算术查询,等值查询,逻辑查询,数组查询,where查询,模糊查询等 4.索引创建,游标、存储过程使用 5.聚合运算,支持Group,Aggregation, MapReduce 的统计和集合 6.全文检索和地理位置信息检索...

    mongodb如何对文档内数组进行过滤的方法步骤

    mongodb文档内包含数组,需要将数组中符合条件的数据过滤出来并返回结果集,可以用两种方式来查询group或filter。 数据源: { "_id" : ObjectId("5bbcc0c9a74db9804e78a157"), "uid" : "1000001", "name" : ...

    underscore-query:MongoDB之类JavaScript数组查询API

    完全支持查询嵌套数组(请参阅$elemMatch ) 接受点表示法以查询深度属性(例如{"stats.views.december": 100} ) 可以定义自定义吸气剂(例如.get for Backbone) 与下划线链接一起很好地工作动态评估查询中的函数...

    MongoDB基本操作指南

    配合附加的operator,MongoDB支持范围查询,正则表达式查询,对子文档内属性的查询,可以取代原来大多数任务的SQL查询。CRUD更加简单,支持in-place update:只要定义一个数组,然后传递给MongoDB的insert/update...

    MongoDB 中聚合统计计算–$SUM表达式

    2,统计每个文档的数组字段里面的各个数据值的和。这两种情况都可以通过$sum表达式来完成。 以上两种情况的聚合统计,分别对应与聚合框架中的 $group 操作步骤和 $project 操作步骤。 1.$group 直接看例子吧。 Case ...

Global site tag (gtag.js) - Google Analytics