Docs Menu
Docs Home
/
MongoDB Atlas
/ / / /

日付フィールドのインデックス作成方法

項目一覧

  • dateタイプのインデックスを定義する
  • dateフィールド プロパティを構成する
  • date 型の例を試す

Atlas Search dateタイプを使用して日付値をインデックスできます。 Atlas Search 範囲の近く、および と等価演算子を使用して、 dateタイプのフィールドをクエリできます。 dateフィールドに対してファセットクエリを実行するには、 dateFacet を使用して日付フィールドをインデックス化する必要があります。

また、 date型を使用してインデックスを作成することもできます。

注意

配列内のインデックス付き日付値をクエリするには、範囲演算子を使用する必要があります。 配列内の日付値に Atlas Search インデックスがある場合でも、 near演算子を使用して配列に保存されている日付値をクエリすることはできません。

動的マッピングを有効にすると、Atlas Search はdate型のフィールドを自動的にインデックス化します。 Atlas UI のビジュアル エディターまたはJSON エディターを使用して、 dateタイプのフィールドにインデックスを付けることができます。

dateタイプのインデックスを定義するには、Atlas UI で希望する構成方法を選択し、データベースとコレクションを選択します。

  1. [ Refine Your Indexをクリックしてインデックスを構成します。

  2. Field Mappingsセクションで、 Add Field MappingをクリックしてAdd Field Mappingウィンドウを開きます。

  3. [Customized Configuration] をクリックします。

  4. Field Nameドロップダウンからインデックスするフィールドを選択します。

    注意

    フィールド名の先頭にドル記号($)が含まれるフィールドにはインデックスを付けられません。

  5. [ Date Data Typeドロップダウンをクリックし、[] を選択します。 このタイプの詳細については、「 フィールド プロパティ」を参照してください。

  6. [Add] をクリックします。

以下は、 date型の JSON構文です。 デフォルトのインデックス定義を以下のように置き換えます。 フィールドの詳細については、「フィールド プロパティ」を参照してください。

1{
2 "mappings": {
3 "dynamic": true|false,
4 "fields": {
5 "<field-name>": {
6 "type": "date"
7 }
8 }
9 }
10}

Atlas Search dateタイプは次のパラメータを取ります。

オプション
タイプ
必要性
説明
type
string
必須
このフィールド型を識別する、人間が判読できるラベル。値はdateでなければなりません。

次のインデックス定義の例では、 sample_mflix.moviesコレクションを使用します。 サンプル データがすでにクラスターにロードされている場合は、Atlas UI のビジュアル エディターまたはJSONエディターを使用してインデックスを構成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択し、インデックスを微調整してフィールド マッピングを追加します。

次のインデックス定義の例では、 releasedフィールドを Atlas Search dateタイプとしてインデックス化し、 nearrangeequals などの Atlas Search 演算子を使用して、そのフィールドに対するクエリをサポートします。

  1. Add Field Mappingウィンドウで、 Field Nameドロップダウンからreleasedを選択します。

  2. Data Typeドロップダウンをクリックし、Date を選択します。

  3. [Add] をクリックします。

デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。

1{
2 "mappings": {
3 "dynamic": false,
4 "fields": {
5 "released": {
6 "type": "date"
7 }
8 }
9 }
10}

次のインデックス定義の例では、released フィールドをdate タイプとdateFacet タイプとしてインデックス化し、クエリの結果の次のタイプを返します。

  1. Add Field Mappingウィンドウで、 Field Nameドロップダウンからreleasedを選択します。

  2. Data Typeドロップダウンをクリックし、Date を選択します。

  3. [Add] をクリックします。

  4. ステップ1を繰り返し、 Data Typeドロップダウンから [ DateFacet ] を選択します。

  5. [Add] をクリックします。

デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。

1{
2 "mappings": {
3 "dynamic": false,
4 "fields": {
5 "released": [
6 {
7 "type": "date"
8 },
9 {
10 "type": "dateFacet"
11 }
12 ]
13 }
14 }
15}

Tip

その他のインデックス定義例も参照してください

戻る

ブール値