用于获取MongoDB内对象数据的正确数据结构

时间:2017-09-26 17:57:49

标签: java mongodb data-structures

我有一个示例mongo记录的以下JSON数据:

{
    "_id" : ObjectId("598b53a1e4b0d3153fe5375a"),
    "_class" : "com.Request",
    "administratorComments" : "",
    "statusLog" : [
        {
            "status" : "Submitted",
            "startDate" : ISODate("2017-08-09T18:25:37.870Z"),
            "endDate" : ISODate("2017-08-10T15:40:08.495Z")
        },
        {
            "status" : "Backlogged",
            "startDate" : ISODate("2017-08-10T15:40:08.495Z"),
            "endDate" : ISODate("2017-09-15T18:18:14.241Z")
        },
        {
            "status" : "Deleted",
            "startDate" : ISODate("2017-09-15T18:18:14.241Z"),
            "endDate" : ISODate("2017-09-15T18:18:24.764Z")
        }       
    ],
    "lastChangeDate" : ISODate("2017-09-15T18:29:35.886Z"),
    "createdDate" : ISODate("2017-08-09T18:25:37.870Z")
}

我使用_id为不同的Hashmap在statusLog中获取不同的状态:

HashMap<String, List<String>> hm_mongo = new HashMap<String, List<String>>();

我将_id作为密钥存储在Array<List>中的不同状态。

现在,我应该捕获所有状态的endDate

你能指出任何有助于捕获状态的数据结构及其endDate用于MongoDB的不同_id吗?

1 个答案:

答案 0 :(得分:0)

您可以简单地扩展当前的HashMap的价值结构。为此,您可以创建一个存储“status”,“startDate”,“endDate”字段的类。

class statusLog{
  public string status;
  public Date startDate;
  public Date endDate;
}

HashMap<String, List<statusLog>> hm_mongo = new HashMap<String, List<statusLog>>();
相关问题