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

Jak mohu odstranit starší záznamy ze sbírky v MongoDB?

Chcete-li odstranit dokumenty před datem, váš příkaz by měl být:

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(YEAR, MONTH, DATE) } })

Pro odstranění záznamů před 1. října 2017 bude příkaz:

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(2017, 9, 1) } })

Říjen je 10. měsíc. Pokud je pole měsíce indexováno nulou, pak použijeme 9, jinak použijeme 10.

..................................

Tímto odstraníte všechny záznamy starší než sedm dnů :

db.collection.deleteMany( { orderExpDate : {"$lt" : new Date(Date.now() - 7*24*60*60 * 1000) } })

Aktualizace: collection.remove je zastaralá



  1. Pymongo - ValueError:NaTType nepodporuje utcoffset při použití insert_many

  2. Foreman okamžitě končí

  3. NoSQL vs. SQL, když je škálovatelnost irelevantní

  4. MongoError,err:Chyba duplicitního klíče E11000