Java 返回唯一的mongo文档
我有一个收藏。以下是示例文档Java 返回唯一的mongo文档,java,mongodb,mongodb-query,aggregation-framework,Java,Mongodb,Mongodb Query,Aggregation Framework,我有一个收藏。以下是示例文档 { "bannerUserSessionId" : "565269c7d52ece855050b3b7bd4ae8d6f52161871394e2d312c340a086f93314", "bannerId" : "<String> kitchen-chimneys||1488286849020|HP|PromoBanner4", "bannerEventLabel" : "<String> kitchen-c
{
"bannerUserSessionId" : "565269c7d52ece855050b3b7bd4ae8d6f52161871394e2d312c340a086f93314",
"bannerId" : "<String> kitchen-chimneys||1488286849020|HP|PromoBanner4",
"bannerEventLabel" : "<String> kitchen-chimneys",
"bannerPage" : "HP",
"bannerWidget" : "PromoBanner4",
"bannerClickTimestamp" : "Mar 04, 2017 15:05:56 PM"
}
{
"bannerUserSessionId" : "565269c7d52ece855050b3b7bd4ae8d6f52161871394e2d312c340a086f93314",
"bannerId" : "<String> kitchen- chimneys||1488286849020|HP|PromoBanner4",
"bannerEventLabel" : "<String> kitchen-chimneys",
"bannerPage" : "HP",
"bannerWidget" : "PromoBanner4",
"bannerClickTimestamp" : "Mar 04, 2017 15:06:19 PM"
}
有没有可能以这样一种方式查询mongodb,即我将得到唯一的文档,因为上述两个文档除了不同的timestamp对象之外是相同的
因此,我只需要一条记录。您可以按键选择
$group
,然后选择$first
时间戳值
db.collection.aggregate([{
$group: {
_id: {
"bannerUserSessionId": "$bannerUserSessionId",
"bannerId": "$bannerId",
"bannerEventLabel": "$bannerEventLabel",
"bannerPage": "$bannerPage"
},
"bannerClickTimestamp": {
$first: "$bannerClickTimestamp"
}
}
}])