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

Temukan catatan MongoDB di mana bidang array tidak kosong

Jika Anda juga memiliki dokumen yang tidak memiliki kunci, Anda dapat menggunakan:

ME.find({ pictures: { $exists: true, $not: {$size: 0} } })

MongoDB tidak menggunakan indeks jika $size terlibat, jadi inilah solusi yang lebih baik:

ME.find({ pictures: { $exists: true, $ne: [] } })

Jika properti Anda memiliki nilai yang tidak valid (seperti null boolean atau lainnya) , maka Anda dapat menambahkan cek tambahan menggunakan $types seperti yang diusulkan dalam jawaban ini:

Dengan mongo>=3.2:

ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })

Dengan mongo <3.2:

ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })

Sejak rilis MongoDB 2.6, Anda dapat membandingkan dengan operator $gt tetapi dapat menyebabkan hasil yang tidak terduga (Anda dapat menemukan penjelasan terperinci dalam jawaban ini):

ME.find({ pictures: { $gt: [] } })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Otomatisasi dan Manajemen Database Open Source di Cloud - Mengumumkan ClusterControl 1.6

  2. Kelompokkan berdasarkan nilai dan kondisi

  3. Bagaimana cara menampilkan gambar base64 dalam reaksi?

  4. Data musim semi menggunakan mongo ATAU dalam Kueri

  5. Properti luwak kadaluarsa tidak berfungsi dengan baik