sql >> Databáze >  >> NoSQL >> MongoDB

Najděte 15 minutová data pomocí pole ObjectID

Problém je v tom, že váš dotaz není platný JSON, protože obsahuje výrazy JS, které mají být vyhodnoceny (vaše výpočty s datem).
Takže musíte v podstatě vytvořit skript nebo provést nějakou shellovou akrobacii, která vygeneruje dotaz JSON, než jej předáte na mongoexport

Můžete najít toto užitečný odkaz, který dělá přesně totéž s pythonem

Navíc jsem udělal (quick &dirty) něco podobného s node, tj. vytvořil jsem soubor query.js s tímto obsahem, který v podstatě vytvoří váš dotaz JSON a zapíše jej do konzole

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

takže jej nyní můžete použít ve svém shellu takto

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

Doufám, že to pomůže




  1. Spuštění souboru JavaScript v MongoDB

  2. Operátor agregačního potrubí MongoDB $sum

  3. NodeJS + MongoDB:Získávání dat z kolekce pomocí findOne ()

  4. Zmatená terminologie Mongoose/Mongo. Jsou Sub-Docs/Embedded-Docs také kolekcemi?