AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

$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部分にインデックスを使用できませんが、クエリの他の部分では該当する場合、インデックスを使用できます。

$size式の構文は次のとおりです。

{
<field>: {
$size: <number>
}
}

配列のクエリに関するその他の例えは、以下を参照してください。

クエリに関するその他の例については、ドキュメントの読み取りを参照してください。