MongoDB-Abfrage nach Datum in Java

Ich versuche, die Abfrage mongodb für Dokumente, wo "Datum" wird zwischen zwei Datumsangaben.
Beispiel-Daten:

{
        "_id" : ObjectId("4fad0af6709fbc1d481c3e05"),
        "ID" : NumberLong("200930746205085696"),
        "text" : "Forgot my charger...:(",
        "date" : ISODate("2012-06-14T10:49:57Z"),
        "sentiment" : "NEG"
}

Mein Java code ist:

DBCursor cursor = null;
DB db = connect();

    Date startDate = new Date(System.currentTimeMillis() - (long)(numOfTimePeriods+1)*time);
    Date endDate = new Date(System.currentTimeMillis() - (long)numOfTimePeriods*time);
    DBObject query = new BasicDBObject();
    query.put("date", new BasicDBObject("$gt", startDate).append("$lte", endDate));

    cursor = db.getCollection("status").find(query);

aber der cursor-Objekt hat keine Ergebnisse.

Query-Objekt sieht wie folgt aus:

{ "date" : { "$gt" : { "$date" : "2012-05-15T00:16:15.184Z"} , "$lte" : { "$date" : "2012-06-14T10:16:15.184Z"}}}

Ich vermute das problem ist der Zeitpunkt-Darstellung in DB.
Irgendwelche Vorschläge?

Das sollte geklappt haben. Können Sie überprüfen die Daten?
Ja, du hast Recht, es scheint zu funktionieren! Das problem war die Daten, die ich abgefragt die Frist für die gibt es keine Dokumente zu Holen. Wie naiv von mir! Vielen Dank für Ihre Hilfe!
Werfen Sie einen Blick auf stackoverflow.com/questions/6840540/java-mongodb-query-by-date Es ist bereits gelöst es.
Mögliche Duplikate von Java/MongoDB-query nach Datum
Möglich, Duplikat der Datum Abfrage mit Isodatum in mongodb scheint nicht zu funktionieren

InformationsquelleAutor andjelko | 2012-06-14

Schreibe einen Kommentar