次の形式のドキュメントを含むMongoDBコレクションがあります。
{
"_id" : ObjectId("4e8ae86d08101908e1000001"),
"name" : ["Name"],
"zipcode" : ["2223"]
}
{
"_id" : ObjectId("4e8ae86d08101908e1000002"),
"name" : ["Another ", "Name"],
"zipcode" : ["2224"]
}
現在、特定の配列サイズに一致するドキュメントを取得できます。
db.accommodations.find({ name : { $size : 2 }})
name
これにより、配列に2つの要素が含まれるドキュメントが正しく返されます。ただし、フィールドの配列サイズが2より大きい$gt
すべてのドキュメントを返すコマンドを実行することはできません。name
db.accommodations.find({ name : { $size: { $gt : 1 } }})
name
サイズが1より大きいすべてのドキュメントを(できれば現在のデータ構造を変更せずに)選択するにはどうすればよいですか?