0
我寫的Java這樣的MongoDB查詢:組,總和與MongoDB的Java驅動程序聚集
db.collection.aggregate(
{ $group : {
_id : { "category" : "$category", "type" : "$type" },
number : { $sum : 1 }
} },
{ $group : {
_id : "$_id.category",
number : { $sum : 1 }
} }
)
而且代碼
DBObject group1 = new BasicDBObject();
group1.put("_id", new BasicDBObject("invoiceNo", "$invoiceNo")
.append("invoiceDate", "$invoiceDate")
.append("count", new BasicDBObject("$sum",1)));
DBObject group2 = new BasicDBObject();
group2.put("_id", new BasicDBObject("invoiceNo", "$_id.invoiceNo")
.append("count", new BasicDBObject("$sum",1)));
AggregationOutput output = dummyColl.aggregate(new BasicDBObject("$group", group1),
new BasicDBObject("$group", group2));
它給人的錯誤
com.mongodb.CommandFailureException: { "serverUsed" : "localhost/127.0.0.1:27017" , "errmsg" : "exception: invalid operator '$sum'" , "code" : 15999 , "ok" : 0.0}
at com.mongodb.CommandResult.getException(CommandResult.java:71)
at com.mongodb.CommandResult.throwOnError(CommandResult.java:110)
at com.mongodb.DBCollection.aggregate(DBCollection.java:1308)
請幫我弄清楚錯誤。
你MongoDB的外殼查詢和Java代碼中是完全不同的,你有你的管道組不同的密鑰。 – chridam