2

これは、ドキュメントが埋め込まれた私のmongodbドキュメントです。「イベント」はドキュメントのリスト (BasicDBList) で、各ドキュメントはキーを日付 (2013 年 1 月 1 日など) として保存され、値は一連のフィールドです。構造はこのように定義されているため、特定の日付 (2013 年 1 月 1 日など) に発生したすべてのイベントを取得できます。

2 つの質問があります。

  1. このドキュメントを構成するより良い方法はありますか? 日付が良い考えであるため、キーはわかりませんが、同時にすべてのドキュメントを簡単に取得し、日付に基づいてメモリに保存したいと考えています。ドキュメントを取得するとき、キーを日付として、値をその日付のドキュメントのリストとして (Java を使用して) 持つ Hashtable が必要です。

  2. 日付を渡してドキュメントを取得するにはどうすればよいですか? たとえば、キーが 2013 年 1 月 1 日のすべてのドキュメントが必要です。Java でのクエリは何でしょうか?

{  
  "_id": {  
    "_time": 1367928493,  
    "_machine": -1914548796,  
    "_inc": -1784811303,  
    "_new": false  
  },  
  "email": "xyz@yahoo.com",  
  "events": {  
    "Jan 1, 2013": [  
      {  
        "desc": "My Desc",  
        "title": "My Title",  
        "createDateTime": "May 7, 2013 8:08:13 AM",  
        "updateDateTime": "May 7, 2013 8:08:13 AM"  
      },  
      {  
        "desc": "My Desc2",  
        "title": "My Title2",  
        "createDateTime": "May 7, 2013 8:08:13 AM",
        "updateDateTime": "May 7, 2013 8:08:13 AM"
      }
    ],
    "Feb 1, 2013": [
      {
        "desc": "My Desc3",
        "title": "My Title3",
        "createDateTime": "May 8, 2013 8:08:13 AM",
        "updateDateTime": "May 7, 2013 8:08:13 AM"
      },
      {
        "desc": "My Desc3",
        "title": "My Title3",
        "createDateTime": "May 8, 2013 8:08:13 AM",
        "updateDateTime": "May 8, 2013 8:08:13 AM"
      }
    ]
  }
}

ありがとうございました

4

1 に答える 1