J'ai stocké une valeur en tant que java.util.Date () dans ma collection, mais lorsque je demande des valeurs entre deux dates spécifiques, je finis par obtenir des valeurs en dehors de la plage. Voici mon code:
insérer
BasicDBObject object = new BasicDBObject();
...
object.put("dateAdded", new java.util.Date());
collection.insert(object);
interroger
BasicDBObject query = new BasicDBObject();
query.put("dateAdded", new BasicDBObject("$gte", fromDate));
query.put("dateAdded", new BasicDBObject("$lte", toDate));
collection.find(query).sort(new BasicDBObject("dateAdded", -1));
lorsque je recherche entre Wed Jul 27 16:54:49 EST 2011
et Wed Jul 27 16:54:49 EST 2011
(essentiellement fromDate = toDate), j'obtiens des objets avec des dates comme Tue Jul 26 09:43:37 EST 2011
qui ne devraient certainement pas être possibles. Qu'est-ce que j'oublie ici?