キーがないドキュメントもある場合は、次を使用できます:
ME.find({ pictures: { $exists: true, $not: {$size: 0} } })
$ sizeが関係している場合、MongoDBはインデックスを使用しないため、より良い解決策は次のとおりです。
ME.find({ pictures: { $exists: true, $ne: [] } })
プロパティに無効な値が含まれる可能性がある場合(null
など) boolean
またはその他)、$types
を使用してチェックを追加します この回答で提案されているように:
mongo> =3.2の場合:
ME.find({ pictures: { $exists: true, $type: 'array', $ne: [] } })
モンゴ<3.2:
ME.find({ pictures: { $exists: true, $type: 4, $ne: [] } })
MongoDB 2.6リリース以降、演算子$gt
と比較できます。 しかし、予期しない結果につながる可能性があります(この回答で詳細な説明を見つけることができます):
ME.find({ pictures: { $gt: [] } })