I stored a value as a java.util.Date() in my collection, but when I query to get values between two specific dates, I end up getting values outside of the range. Here's my code:
to insert
BasicDBObject object = new BasicDBObject();
...
object.put("dateAdded", new java.util.Date());
collection.insert(object);
to query
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));
when I query between Wed Jul 27 16:54:49 EST 2011
and Wed Jul 27 16:54:49 EST 2011
(basically fromDate = toDate), I get objects with dates like Tue Jul 26 09:43:37 EST 2011
which should definitely not be possible. What am I missing here?