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

Pymongo:iterujte všechny dokumenty v kolekci

cursor.forEach() není k dispozici pro Python, je to funkce JavaScriptu. Museli byste získat kurzor a iterovat přes něj. Více viz Výukový program PyMongo:dotazování než jeden dokument , kde můžete:

for document in myCollection.find():
    print(document) # iterate the cursor

Bohužel je zde nedostatek informací k ladění proč a co je 'Killed'. I když pokud byste chtěli vše sladit, stačí uvést:

cursor = db.myCollection.find({"name": {$regex: /.*/}}) 

Vzhledem k tomu poli name obsahuje řetězcové hodnoty. I když pomocí $exists zkontrolujte, zda pole name existuje by bylo vhodnější než použití regulárního výrazu.

Zatímco použití $exists operátor ve vašem příkladu výše je nesprávný. Chybí vám s v $exists . Opět bohužel nevíme mnoho informací o tom, co 'nefungovalo' znamenalo pomoci s dalším laděním.

Pokud píšete tento skript pro cvičení Python, doporučil bych si přečíst:

Můžete se také přihlásit do bezplatného online kurzu na MongoDB University pro M101P:MongoDB pro vývojáře Pythonu .

Pokud se však jen pokoušíte splnit svůj úkol exportovat CSV z kolekce. Jako alternativu můžete jednoduše použít mongoexport společnosti MongoDB . Který má podporu pro:

Viz použití mongoexportu Pro více informací.



  1. Dobrý nástroj pro vytváření rozhraní pro správu / správu obsahu přes MongoDB?

  2. Jak zakázat protokolování java ovladače mongoDB?

  3. Nastavení výchozí databáze pro prostředí MongoDB

  4. 7 způsobů, jak zkontrolovat verzi MongoDB