mongodb 高级查询 group count 查询

 条件操作符 
$gt : > 
$lt : < 
$gte: >= 
$lte: <= 
$ne : !=
<> 
$in : in 
$nin: not in 
$all: all 
$not:
反匹配(1.3.3及以上版本

以下都是引用此集合

DBCollection coll = db.getCollection("employees");


查询 name <> "li" and age >= 18的数据 

BasicDBObject query = new BasicDBObject();
query.put("name", new BasicDBObject().append("$ne", "liguohui"));
query.put("age", new BasicDBObject().append("$gte", 18));
coll.find(query)


查询 age> 10 and age<= 30的数据 

BasicDBObject query = new BasicDBObject();
query.put("age", new BasicDBObject().append("$gt", 10));
query.put("age", new BasicDBObject().append("$lte", 30));
coll.find(query);


查询 age in (20,22,24)的数据 

BasicDBObject query = new BasicDBObject();
BasicDBList values = new BasicDBList();  
values.add(20);  
values.add(22); 
values.add(24);
query.put("age", new BasicDBObject("$in", values));  
DBCursor cur = coll.find(query);




查询 age取模10等于0的数据 

BasicDBObject query = new BasicDBObject();
BasicDBList values = new BasicDBList();  
values.add(10);  
values.add(0); 
query.put("age", new BasicDBObject("$mod", values));  
DBCursor cur = coll.find(query);


查询不匹配name=B*带头的记录 

BasicDBObject query = new BasicDBObject();
Pattern p = Pattern.compile("^B.*$");
query.put("name",p);
DBCursor cur = coll.find(query);


排序sort() 
以年龄升序asc 

DBCursor cur = coll.find().sort(new BasicDBObject().append("name", 1));
			


以年龄降序desc 

DBCursor cur = coll.find().sort(new BasicDBObject().append("name", -1));
			



查询记录条数count() 

long count = coll.getCount();


 

BasicDBObject query = new BasicDBObject();
query.put("age", new BasicDBObject("$lge", 10));  
long count = coll.getCount(query);

 

分组group() 

BasicDBObject key = new BasicDBObject(); 
key.put("name", "true"); 
BasicDBObject initial = new BasicDBObject(); 
initial.put("age", 0); 
BasicDBObject condition = new BasicDBObject(); 
// condition.put("name", "liguohui"); 
String reduceString = "function(obj,prev) { prev.age += obj.age; }"; 
DBObject dbo = coll.group(key, condition , initial, reduceString); 
System.out.println(dbo);


 

分组group() and count()

BasicDBObject key = new BasicDBObject(); 
key.put("name", "true"); 
BasicDBObject initial = new BasicDBObject(); 
initial.put("count", 0); 
BasicDBObject condition = new BasicDBObject(); 
// condition.put("name", "liguohui"); 
String reduceString = "function(obj,prev) { prev.count++; }"; 
DBObject dbo = coll.group(key, condition , initial, reduceString); 
System.out.println(dbo);



 


   

你可能感兴趣的:(mongodb,function,String,query)