Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回唯一的mongo文档_Java_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

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"
        }
    }
}])