フィールドで ObjectId 値のインデックスを作成する方法
Atlas Search objectId
タイプを使用して、 ObjectId値をインデックス化できます。 は 演算子と等価で、演算子を使用してobjectId
タイプのフィールドをクエリできます。
また、 objectId
型を使用してインデックスを作成することもできます。
値が
objectId
の配列であるフィールド。 詳細については、 配列の要素にインデックスを付ける方法 を参照してください。objectId
埋め込みドキュメント 型としてインデックス付けされたドキュメントの配列内のフィールド。
動的マッピングを有効にすると、Atlas Search はobjectId
型のフィールドを自動的にインデックス化します。 Atlas UI のビジュアル エディターまたはJSON エディターを使用して、 objectId
タイプのフィールドにインデックスを付けることができます。
objectId
型のインデックスを定義する
objectId
タイプのインデックスを定義するには、Atlas UI で希望する構成方法を選択し、データベースとコレクションを選択します。
[ Refine Your Indexをクリックしてインデックスを構成します。
Field Mappingsセクションで、 Add Field MappingをクリックしてAdd Field Mappingウィンドウを開きます。
[Customized Configuration] をクリックします。
Field Nameドロップダウンからインデックスするフィールドを選択します。
注意
フィールド名の先頭にドル記号(
$
)が含まれるフィールドにはインデックスを付けられません。[ ObjectId Data Typeドロップダウンをクリックし、[] を選択します。 このタイプの詳細については、「フィールド プロパティ」を参照してください。
[Add] をクリックします。
以下は、 objectId
型の JSON構文です。 デフォルトのインデックス定義を以下のように置き換えます。 フィールドの詳細については、「フィールド プロパティ」を参照してください。
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "objectId" } } } }
objectId
フィールド プロパティを構成する
Atlas Search objectId
タイプには次のオプションがあります。
UI フィールド名 | JSON Option | タイプ | 必要性 | 説明 |
---|---|---|---|---|
Data Type | type | string | 必須 | このフィールド型を識別する、人間が判読できるラベル。値は objectId でなければなりません。 |
objectId
型の例を試す
次のインデックス定義の例では、 sample_mflix.commentsコレクションを使用します。 サンプル データがすでにクラスターにロードされている場合は、Atlas UI のビジュアル エディターまたはJSONエディターを使用してインデックスを構成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択し、インデックスを微調整してフィールド マッピングを追加します。
次のインデックス定義の例では、 movie_id
フィールドをobjectId
データ型としてインデックス化し、Atlas Searchと等価演算子を使用してそのフィールドに対するクエリをサポートします。
Add Field Mappingウィンドウで、 Field Nameドロップダウンからmovie_idを選択します。
Data Typeドロップダウンをクリックし、ObjectId を選択します。
[Add] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
{ "mappings": { "dynamic": false, "fields": { "movie_id": { "type": "objectId" } } } }