private BasicDBList aggregate(RequestContext ctx) {
BasicDBList queryObject = new BasicDBList();
if (ctx.resourceParams() != null && ctx.resourceParams().contains("q")) {
String queryString = ctx.resourceParams().value("q");
DBObject paramObject = (DBObject) JSON.parse(queryString);
if (paramObject instanceof BasicDBList) {
queryObject = (BasicDBList) paramObject;
} else {
queryObject.add(paramObject);
}
}
DBCollection dbCollection = parent().getDBCollection();
try {
BasicDBList result = new BasicDBList();
AggregationOutput output = dbCollection.aggregate(
(DBObject) queryObject.remove(0),
queryObject.toArray(new DBObject[queryObject.size()]));
for (DBObject dbObject : output.results()) {
result.add(dbObject);
}
return result;
} catch (Exception e) {
logger().error("", e);
throw new RuntimeException("Aggregation query failed: ", e);
}
}
MongoAggregationResource.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:liveoak
作者:
评论列表
文章目录