cursor.forEach() не е достъпно за Python, това е функция на JavaScript. Ще трябва да получите курсор и да го повторите. Вижте урок за PyMongo:запитване за още от един документ , където можете да направите:
for document in myCollection.find():
print(document) # iterate the cursor
За съжаление тук липсва информация за отстраняване на грешки защо и какво е „Убит“. Въпреки че, ако искате да съпоставите всичко, можете просто да посочите:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Предвид това поле name
съдържа низови стойности. Въпреки че използва $exists
за да проверите дали поле name
съществува би било за предпочитане пред използването на регулярен израз.
Докато използването на $exists
във вашия пример по-горе е неправилен. Липсва ви s
в $exists
. Отново, за съжаление не знаем много информация за това какво означава „не работи“, за да помогнем за по-нататъшното отстраняване на грешки.
Ако пишете този скрипт за упражнение на Python, бих препоръчал да прегледате:
Можете също да се запишете в безплатен онлайн курс в MongoDB University за M101P:MongoDB за разработчици на Python .
Ако обаче просто се опитвате да изпълните задачата си да експортирате CSV от колекция. Като алтернатива можете просто да използвате mongoexport на MongoDB . Което има поддръжка за:
- Експортиране на конкретни полета чрез --име на полета, адрес“
- Експортиране в CSV чрез --напишете "csv"
- Експортиране на конкретни стойности със заявка чрез --query " ..."
Вижте използване на mongoexport за повече информация.