Se anche tu hai documenti che non hanno la chiave, puoi usare:
ME.find({ pictures: { $exists: true, $not: {$size: 0} } })
MongoDB non usa gli indici se è coinvolta $ size, quindi ecco una soluzione migliore:
ME.find({ pictures: { $exists: true, $ne: [] } })
Se la tua proprietà può avere valori non validi (come null
boolean
o altri), quindi aggiungi un controllo aggiuntivo utilizzando $types
come proposto in questa risposta:
Con mongo>=3.2:
ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })
Con mongo <3.2:
ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })
Dal rilascio di MongoDB 2.6, puoi confrontare con l'operatore $gt
ma potrebbe portare a risultati imprevisti (puoi trovare una spiegazione dettagliata in questa risposta):
ME.find({ pictures: { $gt: [] } })