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

$in(式演算子)

$in

指定した値が配列内にあるかどうかをブール値で返します。

注意

このドキュメントでは、$in 集計演算子について説明します。$in クエリ演算子については、$in(クエリ述語演算子)をご覧ください。

$inには次の演算子式の構文があります。

{ $in: [ <expression>, <array expression> ] }
オペランド
説明

<expression>

任意の有効な式。

<array expression>

配列に変換される任意の有効な式。

$in クエリ演算子とは異なり、集計 $in 演算子は正規表現による一致をサポートしていません。

例
結果

{ $in: [ 2, [ 1, 2, 3 ] ] }

true

{ $in: [ "abc", [ "xyz", "abc" ] ] }

true

{ $in: [ "xy", [ "xyz", "abc" ] ] }

false

{ $in: [ [ "a" ], [ "a" ] ] }

false

{ $in: [ [ "a" ], [ [ "a" ] ] ] }

true

{ $in: [ /^a/, [ "a" ] ] }

false

{ $in: [ /^a/, [ /^a/ ] ] }

true

$in $in 式に 2 つの引数が厳密に指定されていない場合、または 2 番目の引数が配列に変換されない場合は、エラーを出して失敗します。

以下の例では、sample_mflix サンプル データセットの movies コレクションを使用します。このデータセットを配置にロードする方法について詳しくは、「サンプル データセットのロード」を参照してください。

この集計操作では、各映画の genres 配列を調べて、文字列 "Drama" の有無を判断します。

db.movies.aggregate( [ { $match: { runtime: { $gt: 1000 } } }, { $project: { _id: 0, title: 1, hasDrama: { $in: [ "Drama", "$genres" ] } } }] )
[ { title: 'Centennial', hasDrama: true }, { title: 'Baseball', hasDrama: false }]
このページを評価

項目一覧