我正在嘗試使用Java爲MongoDB傳輸PostgreSQL。MongoDB與Java - GroupBy更多一列
我有SQL
SELECT id_buyer, buyer, SUM(qtde)
FROM test.log
GROUP BY id_buyer, buyer
和我的新代碼
MongoClient mongoClient = new MongoClient();
MongoDatabase db = mongoClient.getDatabase("teste");
MongoCollection<Document> coll = db.getCollection("log");
DBObject groupFields = new BasicDBObject();
groupFields.put("id_buyer", "$id_buyer");
groupFields.put("buyer", "$buyer");
AggregateIterable<Document> mongoCollectionList = coll.aggregate(
Arrays.asList(
Aggregates.group(groupFields, Accumulators.sum("qtde", "$qtde")),
Aggregates.project(fields(include("comprador", "Quantidade")))
));
MongoCursor<Document> mongoCursor = mongoCollectionList.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next().toJson());
}
結果
{ "_id" : { "id_buyer" : 2, "buyer" : "COMPS" }, "qtde" : 16703 }
如何刪除 「id_buyer」 和 「買家」,也就是進入「_id 「?
韓國社交協會
你是問如何從響應刪除'_id'場?像Aggregates.project(fields(excludeId(),include(「comprador」,「Quantidade」)))' – Veeram
我需要刪除_id列中的列「」。 今天我 { 「_id」:{ 「id_buyer」:2, 「買家」: 「贈券」}, 「qtde」:16703} 我需要 { 「id_buyer」:2, 「買家」: 「COMPS」,「qtde」:16703} 我的問題是一起使用「groupFields」「Aggregates.group」 –
您可以嘗試像這樣'Aggregates.project(fields(excludeId(),computed(「id_buyer」, (「買方」,「$ _id.buyer」),包括(「comprador」,「Quantidade」)))' – Veeram