Se você também possui documentos que não possuem a chave, você pode usar:
ME.find({ pictures: { $exists: true, $not: {$size: 0} } })
O MongoDB não usa índices se $size estiver envolvido, então aqui está uma solução melhor:
ME.find({ pictures: { $exists: true, $ne: [] } })
Se sua propriedade pode ter valores inválidos (como
null
boolean
ou outros), então você adiciona uma verificação adicional usando $types
como proposto nesta resposta:Com mongo>=3.2:
ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })
Com mongo <3.2:
ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })
Desde o lançamento do MongoDB 2.6, você pode comparar com o operador
$gt
mas pode levar a resultados inesperados (você pode encontrar uma explicação detalhada nesta resposta):ME.find({ pictures: { $gt: [] } })