40kのドキュメントを含むJSONファイルがあり、各ドキュメントには日付フィールドが含まれています。データを取得するには、Java内で日付をクエリする必要があるため、日付をnumberLong形式で保存しました。
Date dt = new Date();
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
dt = format.parse(nextLine[j]);
document.put(ColumnNameAsKey[j], dt.getTime());
上記のコードは、APIのforループで実行され、データをmongoに格納します。しかし、これらすべてのデータを入力した後、同じ日付のnumberlong変更を自動的に照会すると、必要な日付のすべてのデータを取得できなくなります。取得するクエリは
querygraph.put("Complaint Date (MM/DD/YYYY)", new
BasicDBObject("$gte",startdate.getTime()).append("$lte",EndDate.getTime()));
たとえば、日付08/01/2012に多数のドキュメントが含まれている場合、日付08/01/2012の正しいnumberlongがmongoの日付フィールドに置き換えられます。これは継続されますが、いくつかのドキュメントの後、numberlongは変化し続けます。つまり、2012年8月1日の日付でNumberLongが134353300000の場合、6つ以上のドキュメントの後、numberlongは前のドキュメントとは異なります。 2012年8月1日の日付の正確なデータを取得できません。ここで違いは何ですか?