$size
$size
$size
演算子は、引数で指定された要素数を持つ任意の配列と一致します。
互換性
次の環境でホストされる配置には $size
を使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
次の例について考えてみます。
db.collection.find( { field: { $size: 2 } } );
このクエリは field
が 2 要素を持つ配列である collection
内のすべてのドキュメントを返します。たとえば、上記の式は { field: [ red, green ] }
と { field: [ apple,
lime ] }
を返しますが、{ field: fruit }
や { field: [
orange, lemon, grapefruit ] }
は返しません。配列内の 1 つの要素のみを持つフィールドを検索するには、次のように、値1を持つ$size
を使用します。
db.collection.find( { field: { $size: 1 } } );
$size
範囲指定による値は受け入れません。様々な異なる数の要素があるフィールドを基にドキュメントを選択するには、フィールドへの要素の追加に合わせて値が増えていくカウンターフィールドを作成します。
クエリはクエリの$size
部分にインデックスを使用できませんが、クエリの他の部分では該当する場合、インデックスを使用できます。
その他の例
配列のクエリに関するその他の例えは、以下を参照してください。
クエリに関するその他の例えについては、「ドキュメントのクエリ 」を参照してください。