mongo 高级查询

来源:互联网 发布:c语言 取反 编辑:程序博客网 时间:2024/05/14 11:00
// 大于  : field > valuedb.collection.find({ "field" : { $gt: value } } )   // 小于  :  field < valuedb.collection.find({ "field" : { $lt: value } } )   // 大于等于 : field >= valuedb.collection.find({ "field" : { $gte: value } } ) // 小于等于 : field <= valuedb.collection.find({ "field" : { $lte: value } } )  // value1 < field < valuedb.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
  • http://blog.csdn.net/yczz/article/details/5978800
0 0