MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongodb, pymongo, agregat memberikan output aneh (sesuatu tentang kursor)

Hasil kueri agregasi adalah kursor, seperti find regular biasa pertanyaan. Dalam kasus pymongo CommandCursor dapat diubah, sehingga Anda dapat melakukan salah satu hal berikut:

cursor = db.points.aggregate(...)

# Option 1
print(list(cursor))

# Option 2
for document in cursor:
    print(document)

Catatan: sebagai arun diperhatikan , dalam kedua kasus, yaitu setelah Anda membuat daftar dari kursor, atau mengulangi dalam for loop, Anda tidak akan dapat mengulangi kursor. Dalam hal ini opsi pertama menjadi lebih baik, jika Anda ingin menggunakannya di masa depan, karena Anda dapat menggunakan daftar yang diperoleh sebanyak yang Anda inginkan, karena sudah ada di memori.
Alasan tidak bisa ulangi adalah bahwa kursor sebenarnya ada di server, dan itu mengirim data potongan demi potongan, dan setelah mengirim Anda semua data (atau server dihentikan) kursor akan dihancurkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. OverflowError:MongoDB hanya dapat menangani hingga 8-byte int?

  2. Perbarui array Mongo:hapus kunci dinamis

  3. Melacak Penggunaan Memori MongoDB

  4. Tidak dapat mengatur jalur mongodb di meteor pada sistem jendela

  5. MongoDB - Perbarui atau Sisipkan objek dalam array