数据库

 首页 > 数据库 > MongoDB > MongoDB查询技巧

MongoDB查询技巧

分享到:
【字体:
导读:
         摘要:1.1查询返回指定的键:--先查询全部的键如下:db.person.find(){_id:ObjectId(4f508eeff536645151bca18c),age:1}{_id:ObjectId(4f508e7bf536645151bca18a),name:tangke,age:21}。--再查询返回指定的键如下:...

MongoDB查询技巧

1.1查询返回指定的键:

--先查询全部的键如下:

> db.person.find()
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }。

--再查询返回指定的键如下:

> db.person.find({},{"age":1})
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "age" : 21 }。

以上需要解释的是:第一个参数是要指定查询的范围,第二个参数是要找到的键并按升序进行排列。

--还有一个小技巧:你如果不想返回这个_id,你可以这样做:

> db.person.find({},{"age":1,"_id":0})
{ "age" : 1 }
{ "age" : 21 }。

1.2mongodb中的查询符号:

$lt,$lte,$gt,$gte,$ne:这几个符号的意思不用解释了吧,用过html语言的人都知道。

另外还有$in,$nin,$or也不解释,你懂的。

1.3用正则表达式匹配查询条件:(这个我很喜欢,因为我学过perl,里面的正则表达式,很漂亮)

--没有使用正则式的查询

> db.person.find()
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }

--使用正则表达式查出以name以t开头的文档并且不分大小写:

> db.person.find({"name":/^t*/i})
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }
---注:/^t/i,   表示以t字母开头,并且不分大小写的字符串。

1.4查询数组:

$all的用法:

现在数据库中有如下的数据:

> db.fruit.find()
{ "_id" : ObjectId("4f546dadcf486e7efbd41fcc"), "fruit" : [ "apple", "banana", "
orange" ] }
{ "_id" : ObjectId("4f546dd1cf486e7efbd41fcd"), "fruit" : [ "apple", "peach", "b
anana" ] };

--现在用$all进行查询,查出同时包括apple,peach的文档。

> db.fruit.find({"fruit":{"$all":["apple","peach"]}})
{ "_id" : ObjectId("4f546dd1cf486e7efbd41fcd"), "fruit" : [ "apple", "peach", "b
anana" ] };

$size: 用来查询符合长度符合的数组。

$slice:返回多少条键的记录;

$slice也可以用来查询指定偏移量的数据:

--上面的语句表达的意思是跳过前二十三条数据,然后查询十条数据。

MongoDB查询技巧
分享到:
MongoDB Java API更新数据演示代码
MongoDB Java API更新数据演示代码 /**  * MongoDBTest  * MongoDB更新数据使用示例  */ package com.labci.mongodb.test; import java.net.UnknownHostException; import java.util.Iterator; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection;...
Java操作MongoDB数据库的封装类
Java操作MongoDB数据库的封装类MongoDB Java 通用方法 最近写了一个针对MongoDB的一些常用操作的公共类,希望对初学者有帮助。 package model.dao; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import org.bson.types.Ob...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……