public Object[] searchTrans(int pageNumber,int pageSize,String godates,String wherefrom,String whereto,String transorg){
if(godates==null)godates = "\\w*"+godates+"\\w*";
if(wherefrom==null)wherefrom = "\\w*"+wherefrom+"\\w*";
if(whereto==null)whereto = "\\w*"+whereto+"\\w*";
if(transorg==null)transorg = "\\w*"+transorg+"\\w*";
try {
BuguConnection conn = BuguConnection.getInstance();
DB db = conn.getDB();
DBCollection order = db.getCollection("order");
BasicDBObject bdbo2 = new BasicDBObject();
bdbo2.put("godates",Pattern.compile(godates));
bdbo2.put("wherefrom",Pattern.compile(wherefrom));
bdbo2.put("whereto",Pattern.compile(whereto));
bdbo2.put("transorg",Pattern.compile(transorg));
BasicDBObject bdbo1 = new BasicDBObject();
bdbo1.put("$elemMatch", bdbo2);
BasicDBObject bdbo = new BasicDBObject();
bdbo.put("trans", bdbo1);
BasicDBObject paymethod1 = new BasicDBObject();
paymethod1.put("$gte", "0");
BasicDBObject paymethod2 = new BasicDBObject();
paymethod2.put("paymethod", paymethod1);
int count = order.find(paymethod2,bdbo).count();
DBCursor cur = order.find(paymethod2,bdbo).limit(pageSize).skip(pageNumber).sort(new BasicDBObject("trans.godates","-1"));
List<Object[]> transList = new ArrayList<Object[]>();
while (cur.hasNext()) {
DBObject dbo = cur.next();
if(dbo.get("trans")!=null){
BasicDBList bson = (BasicDBList) dbo.get("trans");
for (Object oo : bson) {
BasicDBObject bson1 = (BasicDBObject)oo;
transList.add(new Object[]{dbo.get("_id"),bson1});
}
}
}
return new Object[]{count,transList};
}catch (MongoException e) {
e.printStackTrace();
return null;
}
}
关于 mongodb 的 内嵌关联查询
最新推荐文章于 2024-08-14 02:18:29 发布