Actully私はフロントエンドからmongoに日付を送ります。そしてそれは日付を1だけ減らします。私は復帰時に正しい日付を返しますが、$からのデータを集計すると$月、$年のプロパティでは、より少ない日付値に従って集計を実行します。なぜですか? これが問題ない場合は、正確な集計を実行するソリューションを教えてください。 集約のためのコードは、 - 予めMongoDBでのISOの日付
DBObject projectFields = new BasicDBObject();
projectFields.put("creationDate","$creationDate");
projectFields.put("month",new BasicDBObject("$month", "$creationDate"));
projectFields.put("year",new BasicDBObject("$year", "$creationDate"));
projectFields.put("day",new BasicDBObject("$dayOfMonth", "$creationDate"));
projectFields.put("batchQty","$batchQty");
DBObject projectObj = new BasicDBObject("$project", projectFields);
DBObject groupIdFieldsObj = new BasicDBObject();
groupIdFieldsObj.put("month","$month");
groupIdFieldsObj.put("year","$year");
groupFieldsObj.put("_id", groupIdFieldsObj);
DBObject groupSumFieldsObj = new BasicDBObject();
groupSumFieldsObj.put("$sum", "$batchQty");
groupFieldsObj.put("batchQty", groupSumFieldsObj);
DBObject groupObj = new BasicDBObject("$group", groupFieldsObj);
DBObject outCollObj = new BasicDBObject();
outCollObj.put("$out", "salesExportData");
coll.aggregate(groupObj,projectObj,outCollObj);
おかげ。
サンプルドキュメントを追加できますか? – Veeram