Pokud máte také dokumenty, které nemají klíč, můžete použít:
ME.find({ pictures: { $exists: true, $not: {$size: 0} } })
MongoDB nepoužívejte indexy, pokud jde o $size, takže zde je lepší řešení:
ME.find({ pictures: { $exists: true, $ne: [] } })
Pokud vaše vlastnost může mít neplatné hodnoty (např. null
boolean
nebo další) , pak přidáte další kontrolu pomocí $types
jak je navrženo v této odpovědi:
S mongo>=3,2:
ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })
S mongo <3.2:
ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })
Od vydání MongoDB 2.6 můžete porovnávat s operátorem $gt
ale mohlo by to vést k neočekávaným výsledkům (podrobné vysvětlení najdete v této odpovědi):
ME.find({ pictures: { $gt: [] } })