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

Pymongo untuk Setiap pemformatan

Untuk meneruskan kode javascript dari Python, Anda perlu membungkusnya dengan bson.Code objek, karena jika tidak, Python sendiri (bukan PyMongo) akan mencoba menguraikannya. Ini memberi Anda:

import bson
self.request.db.myCollection.find().forEach(bson.Code( '''
    function(u) { 
       u.forSong = self.request.db.song.find_one({}, {'_id': 1})
       self.request.db.save(u)
     }'''))

Tetapi fakta bahwa Anda menggunakan self di sana membuatnya terlihat seperti Anda ingin menggunakan kode Python di sana, bukan kode javascript. Dari dokumentasi , sepertinya objek Kursor dikembalikan dari find mengimplementasikan protokol Urutan Python - artinya Anda harus dapat menggunakan loop Python biasa alih-alih forEach (yang menurut dokumen tampaknya tidak diterapkan oleh PyMongo):

for u in self.request.db.myCollection.find():
   u.forSong = self.request.db.song.find_one({}, {'_id': 1})
   self.request.db.myCollection.save(u)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengambil nilai dari mongoDB, dengan nama kuncinya?

  2. Morphia MongoDB memeriksa bidang nol dan tidak ada

  3. Simpan satu dokumen dalam koleksi mongoDB menggunakan luwak

  4. Bagaimana cara memasukkan elemen ke daftar internal MongoDB?

  5. Cara Menginstal MongoDB di Ubuntu 18.04