如何获取MongoDB中具有相同纪元时间戳的所有记录?

问题描述 投票:0回答:1

我有一个具有以下结构的MongoDB集合:

_embedded: {
    rh:doc: [
        {
            somevalue1: {...},
            somevalue2: "garbage1"
            interesting_date: 1520121600
        },
        {
            somevalue1: {...},
            somevalue2: "garbage2"
            interesting_date: 1520121600
        },
        {
            somevalue1: {...},
            somevalue2: "garbage3"
            interesting_date: 1520121600
        },
        ...
    ]
}

如何使用MongoDB过滤器获取具有相同“interesting_date”值的所有记录?

这个集合是通过RESTHeart访问的,所以我必须通过JAVA中的http请求传递URI本身的过滤器。

如果这看起来很简单,请原谅我。我对应用程序端开发很新。

谢谢。

mongodb mongodb-query
1个回答
1
投票

如果您只想查找具有相同日期的数据,那么您可以像这样执行查询。

db.user.find({ interesting_date: 1520121600 });

否则你可以使用$group作为前。

db.user.aggregate(
[
  {
    $group : {
       _id : '$interesting_date' },

    }
  }
]);

或者你可以在$filter时使用$project

db.user.aggregate([
{
  $project: {
     interesting_date: {
        $filter: {
           input: "$doc",
           as: "item",
           cond: { $eq: [ "$$item.interesting_date", 1520121600 ] }
        }
     }
  }
}
]);
© www.soinside.com 2019 - 2024. All rights reserved.