我要执行以下mongodb查询:
db.clicks.aggregate([
{ $project: { mongoTimestamp: { $add: [new Date(0),"$createdAt"] } } },{
$project: {
month_clicked: { $month: "$mongoTimestamp" },year_clicked: { $year: "$mongoTimestamp" }
}
},{
$group: {
_id: { year_clicked: "$year_clicked",month_clicked: "$month_clicked" },clickCount: { $sum: 1 }
}
}
]);
但是我似乎无法弄清楚如何从Spring Rest代码中以mongo表达式的形式传递“ new Date(0)”。 我尝试了以下代码:
AggregationExpression sumExp = new AggregationExpression() {
@Override
public org.bson.Document toDocument(Aggregationoperationcontext context) {
BasicDBObject bdbo = new BasicDBObject();
bdbo.append("$add",Arrays.<Object> asList("new Date(0)","$createdAt"));
return new org.bson.Document("mongoTimestamp",bdbo);
}
};
但是新的Date(0)部分作为字符串“ new Date(0)”发送,而不是普通的新Date(0)
我正在使用Mongo 3.2.5,并且无法升级到Mongo 4。