cursor.forEach() tidak tersedia untuk Python, ini adalah fungsi JavaScript. Anda harus mendapatkan kursor dan mengulanginya. Lihat Tutorial PyMongo:menanyakan lebih banyak dari satu dokumen , di mana Anda dapat melakukan :
for document in myCollection.find():
print(document) # iterate the cursor
Sayangnya ada kekurangan informasi di sini untuk men-debug mengapa dan apa itu 'Dibunuh'. Meskipun jika Anda ingin mencocokkan semuanya, Anda cukup menyatakan:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Mengingat bidang itu name
berisi nilai string. Meskipun menggunakan $exists
untuk memeriksa apakah bidang name
ada akan lebih disukai daripada menggunakan regex.
Sedangkan penggunaan $exists
operator dalam contoh Anda di atas salah. Anda kehilangan s
di $exists
. Sekali lagi, sayangnya kami tidak mengetahui banyak informasi tentang arti 'tidak berfungsi' untuk membantu debug lebih lanjut.
Jika Anda menulis skrip ini untuk latihan Python, saya akan merekomendasikan untuk meninjau:
Anda juga dapat mendaftar di kursus online gratis di MongoDB University untuk M101P:MongoDB untuk Pengembang Python .
Namun, jika Anda hanya mencoba menyelesaikan tugas Anda mengekspor CSV dari koleksi. Sebagai alternatif, Anda bisa menggunakan mongoexport dari MongoDB . Yang memiliki dukungan untuk :
- Mengekspor bidang tertentu melalui --bidang "nama, alamat"
- Mengekspor dalam CSV melalui --ketik "csv"
- Mengekspor nilai tertentu dengan kueri melalui --query " ..."
Lihat penggunaan mongoexport untuk informasi lebih lanjut.