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: [] } })