MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Finden Sie 15-Minuten-Daten mit dem ObjectID-Feld

Das Problem ist, dass Ihre Abfrage kein gültiges JSON ist, da sie JS-Ausdrücke enthält, die ausgewertet werden müssen (Ihre Berechnungen mit dem Datum).
Sie müssen also im Grunde ein Skript erstellen oder Shell-Akrobatik ausführen, das die Abfrage JSON generiert, bevor es übergeben wird nach mongoexport

Sie können dieses finden Link nützlich, der genau das mit Python macht

Außerdem habe ich (quick &dirty) etwas ähnliches mit node gemacht, also eine Datei query.js erstellt mit diesem Inhalt, der im Wesentlichen Ihre Abfrage JSON erstellt und in die Konsole schreibt

var oid = Math.floor(new Date(new Date().getTime() - 1000 * 60 * 15) / 1000).toString(16) + "0000000000000000";
console.log('{ "_id": { "$gte": new ObjectId("' + oid + '") } }');

damit Sie es jetzt in Ihrer Shell so verwenden können

mongoexport ... --query "$(node query.js)" ...

Hoffe das hilft