// 大于 : 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