Wie würde ich in der Mongo-Shell Datensätze filtern, die heute (oder zu einem bestimmten Datum) hinzugefügt wurden? Ich habe kein spezifisches Feld des Zeitstempels neuer Datensätze, aber ich denke, es kann von ObjectID wiederhergestellt werden.MongoDB die heutigen Datensätze finden
2
A
Antwort
2
können wir $where
db.collection.find(
{ $where: "this._id.getTimestamp() >= ISODate('2017-02-25')" }
)
verwenden, um Dokumente für heute zu bekommen, oder besser gesagt von den letzten Mitternacht:
db.collection.find({ $where: function() {
today = new Date(); //
today.setHours(0,0,0,0);
return (this._id.getTimestamp() >= today)
} });
natürlich ist es viel schneller ein indiziertes Zeitstempel-Feld zu haben, oder zu folgen der Ansatz mit der Berechnung einer ObjectID für das Startdatum und vergleiche _id dagegen, da auch _id indexiert wird.
1
So alle Datensätze aus heute zu erhalten:
var startOfToday = new Date();
start.setHours(0,0,0,0);
// creates ObjectId() from date:
var _id = Math.floor(startOfToday.getTime()/1000).toString(16) + "0000000000000000";
> db.collection("records")
.find({ _id: { $gt: _id } });
Um alle Datensätze aus der gegebenen Zeitperiode (Beispiel: gestern): get
var yesterdayStart = new Date();
var yesterdayEnd = new Date();
yesterdayStart.setDate(dat.getDate() - 1);
yesterdayEnd.setDate(dat.getDate() - 1);
yesterdayStart.setHours(0,0,0,0);
yesterdayStart.setHours(23,59,59,999);
var startId = Math.floor(yesterdayStart.getTime()/1000).toString(16) + "0000000000000000";
var endId = Math.floor(yesterdayEnd.getTime()/1000).toString(16) + "0000000000000000";
> db.collection("records")
.find({ _id: {
$gt: startId,
$lt: endId
}
}
);
Verwandte Themen
- 1. Doppelte Datensätze in MongoDB finden
- 2. Django Raw SQL-Abfrage gibt die heutigen Datensätze nicht zurück
- 3. MongoDB Dokumente finden, die
- 4. Datensätze aus mongodb meteorjs
- 5. Datensätze löschen in mongodb
- 6. Suche in mongodb eingebettete Datensätze
- 7. Die wichtigsten heutigen KI-Entwicklungen?
- 8. Finden Sie Datensätze in MongoDB, die nicht mit einer Contition übereinstimmen
- 9. MongoDB So finden Sie die nächsten Nachbarn
- 10. MongoDB langsam finden
- 11. HealthKit Swift erhält die heutigen Schritte
- 12. MongoDB Filialdokument finden
- 13. MongoDB innerhalb Subarray finden
- 14. $ Projekt innen finden mongodb
- 15. MongoDB Anzahl der Datensätze, die vor 30 Tagen veröffentlicht werden
- 16. Wie die Anzahl der Datensätze in mongodb nach Datum
- 17. finden doppelte Datensätze SQL Server
- 18. Namespace-Datensätze in Redis finden
- 19. Mongodb Antwort verlangsamt unglaublich nach 200.000 Datensätze
- 20. MongoDB mehrere Datensätze von Array aktualisieren
- 21. Directory.GetFiles erhalten nur die heutigen Dateien
- 22. MongoDB erhalten alle Datensätze Java API
- 23. Anzahl der Datensätze nach Datum MongoDB
- 24. Python - So finden Sie unübertroffene Datensätze aus drei Datensätze
- 25. sorting regex finden mongodb mongoose
- 26. Größte Dokumentgröße in MongoDB finden
- 27. MongoDB Setvariable() zu finden. ToArray()
- 28. Mehrere Variable Abfrage finden mongodb
- 29. Finden Sie alle Datensätze älter als ein Jahr
- 30. Mongodb finden Abfrage mit $ oder
@cubbuk Ich denke, dass ' $ where' wurde an diesen Tagen noch nicht für Mongo Shell implementiert. – thanasisp
@thanasisp $ wo erfordert Tabelle scannen, wie es auswerten muss, wo Ausdruck auf jedem Datensatz, hat somit eine geringe Leistung – cubbuk
@cubbuk natürlich tut es. – thanasisp