Créer un index sur un seul champ
Dans cette première étape, vous allez vous connecter à MongoDB, créer une base de données avec une collection d'exemple, puis créer votre premier index sur un champ unique. Un index sur un champ unique améliore les performances des requêtes qui filtrent ou trient sur ce champ spécifique.
Tout d'abord, ouvrez le shell MongoDB en tapant mongosh dans votre terminal. Cela vous connectera au serveur MongoDB en cours d'exécution dans votre environnement.
mongosh
Une fois que vous êtes dans le shell MongoDB, vous verrez une invite >. Créons et basculons vers une nouvelle base de données nommée indexlab. Toutes les commandes ultérieures dans ce laboratoire seront exécutées dans ce shell, sauf indication contraire.
use indexlab
Maintenant, insérons quelques documents d'exemple dans une nouvelle collection nommée users. Ces données seront utilisées tout au long du laboratoire.
db.users.insertMany([
{ name: "Alice", age: 28, email: "alice@example.com" },
{ name: "Bob", age: 35, email: "bob@example.com" },
{ name: "Charlie", age: 42, email: "charlie@example.com" }
]);
Une fois nos données en place, créons un index sur le champ name. Un index sur un champ unique permet d'accélérer les requêtes qui recherchent des documents par ce champ.
db.users.createIndex({ name: 1 });
Dans la commande ci-dessus, { name: 1 } spécifie que l'index doit être créé sur le champ name par ordre croissant. L'utilisation de -1 créerait un index par ordre décroissant.
Pour vérifier que l'index a été créé, vous pouvez lister tous les index de la collection users.
db.users.getIndexes();
Vous devriez voir deux index dans la sortie. L'un est l'index par défaut _id créé par MongoDB sur chaque collection, et l'autre est l'index name_1 que vous venez de créer.
[
{ "v": 2, "key": { "_id": 1 }, "name": "_id_" },
{ "v": 2, "key": { "name": 1 }, "name": "name_1" }
]