您的位置:首页 > 编程语言 > Go语言

mongo 高级查询

2016-03-21 15:34 369 查看
// 大于  : field > value
db.collection.find({ "field" : { $gt: value } } )
// 小于  :  field < value
db.collection.find({ "field" : { $lt: value } } )
// 大于等于 : field >= value
db.collection.find({ "field" : { $gte: value } } )
// 小于等于 : field <= value
db.collection.find({ "field" : { $lte: value } } )

// value1 < field < value
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } )
//条件相当于x<>3,即x不等于3。
db.things.find( { x : { $ne : 3 } } )

//条件相当于a % 10 == 1 即a除以10余数为1的。
db.things.find( { a : { $mod : [ 10 , 1 ] } } )

//条件相当于 j 不等于 [2,4,6] 中的任何一个。
db.things.find({j:{$nin: [2,4,6]}})

//条件相当于j等于[2,4,6]中的任何一个。
db.things.find({j:{$in: [2,4,6]}})

//与$in类似,但必须是[]的值全部都存在。
db.things.find( { a: { $all: [ 2, 3 ] } } )

//条件相当于a的值的数量是1(a必须是数组,一个值的情况不能算是数量为1的数组)。
db.things.find( { a : { $size: 1 } } )

//true返回存在字段a的数据,false返回不存在字度a的数据。
db.things.find( { a : { $exists : true } } )
db.things.find( { a : { $exists : false } } )

//条件是a类型符合的话返回数据。
db.things.find( { a : { $type : 2 } } )

//符合条件a=1的或者符合条件b=2的数据都会查询出来。
db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } )
//符合条件name等于bob,同时符合其他两个条件中任意一个的数据。
db.foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } )


每个类型对应的值如下

Double 1

String 2

Object 3

Array 4

Binary data 5

Object id 7

Boolean 8

Date 9

Null 10

Regular expression 11

JavaScript code 13

Symbol 14

JavaScript code with scope 15

32-bit integer 16

Timestamp 17

64-bit integer 18

Min key 255

Max key 127

http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html

/article/2725999.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: