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

Periksa keberadaan beberapa bidang dalam dokumen MongoDB

Saya tidak tahu tentang yang lebih baik, tetapi Anda selalu dapat memproses dengan JavaScript melalui $where :

jsStr = """var doc = this;
           return ['result1','result2','result3']
           .every(function(key) { 
               return doc.hasOwnProperty(key) 
           });"""

coll.find({ "$where": jsStr })

Tetapi Anda harus menentukan larik "kunci" untuk memeriksa di suatu tempat.

Jika Anda merasa memiliki banyak kunci untuk diketik, mengapa tidak "membangun" ekspresi kueri Anda saja:

whitelist = [ "result1", "result2", "result3" ]
query = {}

for key in whitelist:
    query[key] = { "$exists": True }

coll.find(query)

Itu menghemat sedikit pengetikan dan karena semua kueri MongoDB hanyalah struktur data, maka menggunakan manipulasi data dasar untuk membuat kueri masuk akal.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Membangun Newsfeed seperti Facebook yang dipersonalisasi:SQL, MongoDB?

  2. Mongodb mendapatkan dokumen di antara tanggal (Disimpan sebagai string dalam format 20-05-2019)

  3. MongoDB:apakah aman menggunakan ID dokumen di depan umum?

  4. Mengapa implementasi bson Java menggunakan bidang inc 4 byte?

  5. Bagaimana cara memasukkan jika tidak ada pembaruan lain dengan mongoengine?