2016-07-08 8 views
1

Ich habe eine Klasse in meinem Java-Anwendung mit dem Feld bekamProblem mit einer Abfrage in mongodb mit NumberLong Erstellen

Instant created; 

Dieser in Mongo gespeichert ist, als

"created" : NumberLong("1467359610266") (f.e.) 

Ich möchte ein erstellen Abfrage alle Dokumente zu bekommen, das war beetween 2 Termine erstellt:

public List<MarketingEmail> find(Long startDate, Long endDate) { 
    Query query = new Query(); 
    query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate)); 
    ... 
} 

gebe ich die Zeitstempel-Variablen und ENDDA startdate te (z.B. endDate = 1467981757). Das Problem ist, dass NumberLong in MongoDB 13 Ziffern hat, wenn mein Timestamp nur 10 hat; so funktioniert meine Abfrage überhaupt nicht

Wie kann ich dieses Problem lösen?

Antwort

1

Mongo Zeitstempel verwendet Millisekunden.

Um es abzufragen multiplizieren Sie Ihren Wert mit 1000 (oder einfach hinzufügen 000 am Ende)