MongoDB Mettre à jour le nom de la collection

Dans MongoDB, vous ne pouvez pas renommer directement une collection via une commande.

MongoDB peut utiliser la méthode renameCollection pour renommer une collection.

La méthode renameCollection s'exécute dans la base de données admin de MongoDB et peut renommer une collection sous un autre nom.

La syntaxe de la commande renameCollection :

db.adminCommand({
  renameCollection: "sourceDb.sourceCollection",
  to: "targetDb.targetCollection",
  dropTarget: <boolean>
})

Description du paramètre :

  • renameCollection: Le nom complet de la collection à renommer (y compris le nom de la base de données).
  • to: Le nom complet de la collection cible (y compris le nom de la base de données).
  • dropTarget(Facultatif) : Valeur booléenne. Indique s'il faut supprimer la collection cible si elle existe déjà. La valeur par défaut estfalse。

Exemple

Supposons que vous souhaitiez renommer oldCollection dans la base de données test en newCollection. Vous pouvez suivre les étapes ci-dessous :

1. Assurez-vous d'être connecté à la base de données test

use test

2. Exécutez la commande renameCollection

db.adminCommand({ 
  renameCollection: "test.oldCollection", 
  to: "test.newCollection" 
});

Si vous souhaitez renommer une collection vers une autre base de données, par exemple, renommer oldCollection dans la base de données test en newCollection dans la base de données production, vous pouvez faire ceci :

db.adminCommand({ 
  renameCollection: "test.oldCollection", 
  to: "production.newCollection" 
});

Notes

  • Exigences de permissions: ExecuterenameCollectionLa commande nécessite les permissions appropriées sur les bases de données source et cible. Elle nécessite généralement ledbAdminoudbOwnerrôle.

  • La collection cible ne doit pas exister: La collection cible ne peut pas déjà exister. Si la collection cible existe, une erreur sera renvoyée.

  • Index et données: Renommer une collection préserve tous les documents et index.

Vérifier le résultat du renommage

Après le renommage, vous pouvez vérifier si la nouvelle collection existe avec la commande suivante :

use test
show collections

Si la collection a été renommée en newCollection, vous devriez voir newCollection dans les résultats.

Gérer l'échec du renommage

Si une erreur se produit pendant le processus de renommage, vous pouvez prendre les mesures appropriées en fonction du message d'erreur. Par exemple, si la collection cible existe déjà, vous pouvez d'abord supprimer la collection cible (si vous confirmez qu'elle n'est plus nécessaire), puis relancer l'opération de renommage :

Exemple

use production
db.newCollection.drop();

use test
db.adminCommand({
  renameCollection: "test.oldCollection",
  to: "production.newCollection"
});

Grâce à la méthode renameCollection, vous pouvez gérer efficacement les noms des collections MongoDB, en veillant à ce que la structure de la base de données réponde aux exigences de l'application.

Autres extensions