cursor.forEach () không có sẵn cho Python, đó là một hàm JavaScript. Bạn sẽ phải lấy một con trỏ và lặp lại nó. Xem Hướng dẫn PyMongo:truy vấn để biết thêm nhiều tài liệu , nơi bạn có thể làm:
for document in myCollection.find():
print(document) # iterate the cursor
Thật không may, ở đây thiếu thông tin để gỡ lỗi về lý do và 'Killed' là gì. Mặc dù nếu bạn muốn khớp mọi thứ, bạn chỉ có thể nêu:
cursor = db.myCollection.find({"name": {$regex: /.*/}})
Cho trường đó name
chứa các giá trị chuỗi. Mặc dù sử dụng $exists
để kiểm tra xem trường name
tồn tại sẽ tốt hơn là sử dụng regex.
Mặc dù việc sử dụng $ tồn tại
toán tử trong ví dụ của bạn ở trên không chính xác. Bạn đang thiếu một s
trong $exists
. Một lần nữa, rất tiếc, chúng tôi không biết nhiều thông tin về những gì 'không hoạt động' có nghĩa là để giúp gỡ lỗi thêm.
Nếu bạn đang viết tập lệnh này cho bài tập Python, tôi khuyên bạn nên xem lại:
Bạn cũng có thể đăng ký một khóa học trực tuyến miễn phí tại Đại học MongoDB cho M101P:MongoDB dành cho Nhà phát triển Python .
Tuy nhiên, nếu bạn chỉ đang cố gắng hoàn thành nhiệm vụ xuất CSV từ một bộ sưu tập. Thay vào đó, bạn chỉ có thể sử dụng mongoexport của MongoDB . Trong đó có hỗ trợ cho:
- Xuất các trường cụ thể qua --fields "tên, địa chỉ "
- Xuất trong CSV qua --type "csv"
- Xuất các giá trị cụ thể với truy vấn qua --query " ... "
Xem mức sử dụng mongoexport để biết thêm thông tin.