使用Java驱动程序在子字段上聚合MongoDB组
我想知道是否可以使用MongoDB Java驱动程序在子字段上执行GroupCommand。我不知道第三个参数是如何表达的使用Java驱动程序在子字段上聚合MongoDB组,mongodb,scala,aggregation-framework,Mongodb,Scala,Aggregation Framework,我想知道是否可以使用MongoDB Java驱动程序在子字段上执行GroupCommand。我不知道第三个参数是如何表达的 MongoDB.use(DefaultMongoIdentifier) { db => var collection = db.getCollection(collectionName) var cmd = new GroupCommand(collection, null, new BasicDBObject(
MongoDB.use(DefaultMongoIdentifier) { db =>
var collection = db.getCollection(collectionName)
var cmd = new GroupCommand(collection,
null,
new BasicDBObject("items", new BasicDBObject("field", 1)),
new BasicDBObject("count", 0),
"function ( curr, result ) {result.count++}",
null);
implicit val formats = net.liftweb.json.DefaultFormats
println(JObjectParser.serialize(collection.group(cmd)).extract[List[Map[String, String]]])
JObjectParser.serialize(collection.group(cmd)).extract[List[Map[String, String]]]
}
您使用旧的group命令而不是聚合框架有什么原因吗?没有,我不知道有一个;)事实上,从2.1版开始,您就可以使用:您可能需要向组中添加$unwind,以便在子字段中执行此操作