我正在使用mongodb.I必須在我的彈簧數據mongo db中爲$ date使用聚合查詢。這是我的用戶集合。
{
"_id" : NumberLong(70289),
"_class" : "com.samepinch.domain.user.User",
"age" : 25,
"roles" : [
"ROLE_MODERATOR",
"ROLE_USER"
],
"firstName" : "Abhi",
"lastName" : "Saini",
"email" : "[email protected]",
"createdDate" : ISODate("2015-12-04T12:29:57.604Z"),
"updatedDate" : ISODate("2016-02-10T06:23:13.314Z")
}
這是我的MongoDB查詢
db.users.aggregate([{ $project : { month_joined : { $month : "$createdDate" } } } ,{ $group : { _id : {month_joined:"$month_joined"} , number : { $sum : 1 } } },{ $sort : { "_id.month_joined" : 1 } }])
查詢給了我希望的結果爲:
{ "_id" : { "month_joined" : 1 }, "number" : 19 }
{ "_id" : { "month_joined" : 2 }, "number" : 7 }
{ "_id" : { "month_joined" : 9 }, "number" : 16 }
{ "_id" : { "month_joined" : 10 }, "number" : 12 }
{ "_id" : { "month_joined" : 11 }, "number" : 11 }
{ "_id" : { "month_joined" : 12 }, "number" : 13 }
現在我必須寫使用mongotemplate春天的mongodb數據這個查詢。我是使用聚合的新手,他們是使用它的簡單方法。請幫忙
謝謝。
當我使用項目()。 andExpression()。它要求我和表達式(字符串表達式,對象參數)。根據你的回答,我不知道如何使用它? –
如前所示,您是否嘗試使用'.andExpression(「month(createdDate)」)'而不是'.andExpression(「month(date)」)? – chridam
其實.andExpression()是要求兩個參數我。e和表達式(字符串表達式,對象參數)。我很困惑傳遞什麼。 –