【问题标题】:Return unique mongo document返回唯一的 mongo 文档
【发布时间】:2017-07-24 12:05:39
【问题描述】:

我有一个收藏。以下是示例文件

{
"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 的方式获得唯一的文档,因为上述两个文档是相同的,只是时间戳对象不同?

所以我只想要一个记录。

【问题讨论】:

    标签: java mongodb mongodb-query aggregation-framework


    【解决方案1】:

    您可以通过按键$group 并选择$first 时间戳值。

    db.collection.aggregate([{
        $group: {
            _id: {
                "bannerUserSessionId": "$bannerUserSessionId",
                "bannerId": "$bannerId",
                "bannerEventLabel": "$bannerEventLabel",
                "bannerPage": "$bannerPage"
            },
            "bannerClickTimestamp": {
                $first: "$bannerClickTimestamp"
            }
        }
    }])
    

    【讨论】:

      猜你喜欢
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 2021-09-18
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多