MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

problème mongorestore :Impossible de restaurer les utilisateurs avec la version de schéma 1 sur un système avec la version de serveur 2.5.4 ou supérieure

Il existe deux approches que vous pouvez adopter pour mettre à niveau votre schéma utilisateur avec le 2.4 mongodump .

1) Restauration dans MongoDB 2.4, puis mise à niveau vers la version 2.6

Cela suit le chemin de mise à niveau 2.6 normal . Au lieu d'essayer de mongorestore votre sauvegarde 2.4 directement dans la 2.6, restaurez dans une instance 2.4 puis mettez à niveau vers la 2.6.

Il est recommandé qu'avant la mise à niveau, vous exécutiez db.upgradeCheckAllDBs () via un mongo 2.6 coquille. Cela vérifie les potentiels problèmes de compatibilité en raison de changements dans MongoDB 2.6. Par exemple, la version 2.6 implémente une application plus stricte des définitions de champs d'index et des restrictions de longueur de clé.

2) Restaurer dans MongoDB 2.6 en utilisant 2.4 mongorestore puis mettre à jour le schéma utilisateur

Cette approche nécessite la version MongoDB 2.4 de mongorestore

  • démarrez votre MongoDB 2.6 mongod sans authentification activée

  • mongorestore votre sauvegarde en utilisant une version 2.4 de mongorestore

  • exécutez le authSchemaUpgrade commande dans votre 2.6 mongo coque :

    db.adminCommand({authSchemaUpgrade: 1 });
    
  • redémarrez votre 2.6 mongod avec authentification activée