2016-05-28 4 views
0

--SOLVED-- Zeitstempel in Anführungszeichen wird es beheben!MongoDB - Zählen Sie jeden Datensatz mit Zeitstempel <= gestern

Ich habe eine MongoDB-Instanz auf meinem Ubuntu-Teststand. Ich erstelle gerade Tweets, um Statistiken über das Twitter-Verhalten in Amsterdam zu erstellen. Eine der Statistiken, die ich visualisieren möchte, ist die Anzahl der Tweets pro Tag. Jeder Tweet hat seinen Zeitstempel in Millisekunden, also denke ich, dass ich danach fragen kann, oder?

Leider ist die Abfrage, habe ich nicht das erwartete Ergebnis generiert:

db.testtweets.count({ 
    "timestamp_ms": { 
     "$lte": 1464432361000 
    } 
}); 

Die Abfrage über den Wert 0 zurück, aber ich erwartet, dass es 196.827 (alle Tweets in DB bis heute) zurückzukehren. Was mache ich falsch? Wenn ich die Abfrage auf IS NOT NULL wie unten ändere, gibt es nur die Zählung aller Tweets zurück, wie es sollte.

db.testtweets.count({ 
    "timestamp_ms": { 
     "$ne": null 
    } 
}); 

hoffe, ihr mir eine Abfrage machen helfen können, aus, die jeden tweet unter einem bestimmten Zeitstempel zählt (zum Beispiel gestern: 1464354713000).

EDIT Eine vollständige Dokumentvorschau, versuchen Sie diese URL: http://pastebin.com/fddPYnX1

+0

können Sie zeigen, Beispieldokumente? – styvane

+0

oder einige Sprache kann diese Zahl minus machen, also versuchen Sie es mit $ lt: 0, um zu bestätigen – YOU

+0

$ lt0 gibt null zurück – Joost

Antwort

0

In dem Dokument, um den Wert in Sekunden oder Millisekunden? Normalerweise Zeitstempel - Sekunden, dann müssen Sie die Anfrage senden, ohne 000. Versuchen Sie, wie dieser Code:

db.testtweets.count({ 
"timestamp_ms": { 
    "$lte": 1464432361 
}}); 
+0

Gibt 0 auch zurück :( – Joost

Verwandte Themen