Docs Menu
Docs Home
/
MongoDB Atlas
/ /

Create a Query

On this page

  • Construct your Atlas Search query.
  • Run your Atlas Search query.
  • Procedure

After you create an Atlas Search index on the collection for all the fields that you want to search, you can create Atlas Search queries using the $search and $searchMeta stages.

You can create and run an Atlas Search query by performing the following steps.

1
  1. Select an aggregation pipeline stage.

    Select a tab corresponding to the aggregation pipeline stage you want to use:

    You can use the $search aggregation pipeline to perform a full-text search of the indexed fields for data that matches your query.

    {
    $search: {
    "index": "<index-name>",
    ...
    }
    }

    You can use the $searchMeta aggregation pipeline stage to return metadata about your search results.

    {
    $searchMeta: {
    "index": "<index-name>",
    ...
    }
    }

    To learn more, see Choose the Aggregation Pipeline Stage.

  2. Specify operators.

    Select one or more operators or collectors to perform a specific search on your collection.

    {
    $search: {
    "index": "<index-name>",
    "<operator-name>": {
    <operator-specifications>
    },
    }
    }
    {
    $searchMeta: {
    "index": "<index-name>",
    "<operator-name>"|"<collector-name>": {
    <operator-specifications>|<collector-specifications>
    }
    }
    }

    To learn more, see Use Operators and Collectors in Atlas Search Queries.

  3. (Optional) Retrieve additional information about your Atlas Search query.

    Specify one or more options to adjust your Atlas Search query results.

    {
    $search: {
    "index": "<index-name>",
    "<operator-name>": {
    <operator-specifications>
    },
    "highlight": {
    <highlight-options>
    }
    }
    }

    You can customize your search results in the following ways:

    Option
    Use Case

    Modify the score of the documents in the results to ensure Atlas Search returns relevant results.

    Retrieve a detailed breakdown of the score for each document Atlas Search returns.

    Display your search terms in their original
    context as fields in your query result.

    Retrieve information and execution statistics about which Lucene queries Atlas Search executed to satify your query, and how much time your query spends in the various stages of execution.

    Run your Atlas Search query more efficiently by only retrieving fields stored on mongot as specified in your Atlas Search index definition for a collection.

    Display the number of results from your Atlas Search query.

    Sort your Atlas Search query results by number, string, and date fields and by score.

    Return metadata, such as the number of results, along with your Atlas Search query.

    {
    $searchMeta: {
    "index": "<index-name>",
    "<operator-name>": {
    <operator-specifications>
    },
    "count": {
    <count-options>
    }
    }
    }

    To learn more, see Define Additional Search Options.

2

Review your Atlas Search query syntax and then run it in your application using a driver, mongosh, Compass, or the Search Tester.

Note

If you are experiencing issues with your Atlas Search $search queries, see Troubleshoot Atlas Search Errors.

Back

Create and Run Queries