Docs Menu
Docs Home
/
MongoDB Atlas
/ / / /

How to Index Date Fields

On this page

  • Define the Index for the date Type
  • Configure date Field Properties
  • Try an Example for the date Type

You can use the Atlas Search date type to index date values. You can query fields of type date using the Atlas Search range, near, and equals operators. To run a facet query on date fields, you must index the date fields using dateFacet.

You can also use the date type to index:

Note

To query indexed date values inside arrays, you must use the range operator. You can't use the near operator to query date values stored in an array, even if you have an Atlas Search index on the date values inside the array.

If you enable dynamic mappings, Atlas Search automatically indexes fields of type date. You can use the Visual Editor or the JSON Editor in the Atlas UI to index fields as the date type.

To define the index for the date type, choose your preferred configuration method in the Atlas UI and then select the database and collection.

  1. Click Refine Your Index to configure your index.

  2. In the Field Mappings section, click Add Field Mapping to open the Add Field Mapping window.

  3. Click Customized Configuration.

  4. Select the field to index from the Field Name dropdown.

    Note

    You can't index fields that contain the dollar ($) sign at the start of the field name.

  5. Click the Data Type dropdown and select Date. To learn more more about this type, see Field Properties.

  6. Click Add.

The following is the JSON syntax for the date type. Replace the default index definition with the following. To learn more about the fields, see Field Properties.

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

The Atlas Search date type takes the following parameter:

Option
Type
Necessity
Description

type

string

required

Human-readable label that identifies this field type. Value must be date.

The following index definition example uses the sample_mflix.movies collection. If you have the sample data already loaded on your cluster, you can use the Visual Editor or JSON Editor in the Atlas UI to configure the index. After you select your preferred configuration method, select the database and collection, and refine your index to add field mappings.

The following example index definition indexes the released field as the Atlas Search date type to support queries against that field using Atlas Search operators such as near, range, and equals.

  1. In the Add Field Mapping window, select released from the Field Name dropdown.

  2. Click the Data Type dropdown and select Date.

  3. Click Add.

Replace the default index definition with the following index definition.

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

The following example index definition indexes the released field as the date and dateFacet types to return the following types of results for your queries:

  • Search results for queries using Atlas Search operators like near, equals, and range.

  • Metadata results for queries using Atlas Search facet.

  1. In the Add Field Mapping window, select released from the Field Name dropdown.

  2. Click the Data Type dropdown and select Date.

  3. Click Add.

  4. Repeat step 1 and select DateFacet from the Data Type dropdown.

  5. Click Add.

Replace the default index definition with the following index definition.

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

See also: Additional Index Definition Examples

Back

boolean