View a markdown version of this page

$liste SearchIndexes - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$liste SearchIndexes

Nouveau depuis la version 8.0.1.

L'étape $listSearchIndexes d'agrégation d'Amazon DocumentDB renvoie des informations sur les index de recherche existants dans une collection. Il doit s'agir de la première étape d'un pipeline d'agrégation.

Paramètres

  • name: (facultatif) Le nom de l'index de recherche sur lequel renvoyer des informations. En cas d'omission, tous les index de recherche de la collection sont renvoyés.

Champs de sortie

Chaque document retourné contient les champs suivants :

  • name: nom de l'index de recherche.

  • status: état de construction de l'index. L'un des READY éléments suivants : (créé et valide), BUILDING (une génération simultanée est en cours), ou FAILED (la création de l'index n'a pas abouti).

  • queryable: booléen indiquant si l'index peut actuellement être utilisé pour répondre aux requêtes. C'est false pour les index cachés (qui restentREADY) et pour les FAILED index. Un index caché est le cas où status est READY mais queryable estfalse.

  • latestDefinitionVersion: document contenant version (la version du format d'index) et createdAt (l'heure de création de l'index).

Syntaxe

db.collection.aggregate([ { $listSearchIndexes: {} } ]) // Or filter by name: db.collection.aggregate([ { $listSearchIndexes: { name: "mySearchIndex" } } ])

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser le $listSearchIndexes stage pour répertorier tous les index de recherche d'une collection.

Exemple de requête

db.movies.aggregate([ { $listSearchIndexes: {} } ]);

Sortie

[ { "name": "default", "status": "READY", "queryable": true, "latestDefinitionVersion": { "version": 2, "createdAt": ISODate("2026-05-11T21:12:57.974Z") } } ]

Un index masqué subsiste READY mais génère des rapportsqueryable: false, car il ne peut pas être utilisé pour répondre à des requêtes lorsqu'il est masqué :

[ { "name": "myHiddenIndex", "status": "READY", "queryable": false, "latestDefinitionVersion": { "version": 2, "createdAt": ISODate("2026-05-11T21:12:57.974Z") } } ]

Pour filtrer en fonction d'un nom d'index spécifique :

db.movies.aggregate([ { $listSearchIndexes: { name: "default" } } ]);

Exemples de code

Pour afficher un exemple de code permettant d'utiliser la $listSearchIndexes scène, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); try { await client.connect(); const db = client.db('test'); const collection = db.collection('movies'); // List all search indexes const allIndexes = await collection.aggregate([ { $listSearchIndexes: {} } ]).toArray(); console.log('All search indexes:', allIndexes); // List a specific search index by name const namedIndex = await collection.aggregate([ { $listSearchIndexes: { name: "default" } } ]).toArray(); console.log('Named index:', namedIndex); } finally { await client.close(); } } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') try: db = client['test'] collection = db['movies'] # List all search indexes all_indexes = list(collection.aggregate([ { '$listSearchIndexes': {} } ])) print('All search indexes:', all_indexes) # List a specific search index by name named_index = list(collection.aggregate([ { '$listSearchIndexes': { 'name': 'default' } } ])) print('Named index:', named_index) finally: client.close() example()