web-dev-qa-db-fra.com

Mongorestore: Erreur Createindex: valeurs dans V: 2 Modèle de clé d'index ne peut pas être de type objet. Seuls les chiffres> 0, les nombres <0 et les cordes sont autorisés

Je reçois l'erreur suivante lors de l'exécution mongorestore commande avec une grande base de données MongoDB.

la machine où la sauvegarde a été faite:

db version v4.2.0
git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_Arch: x86_64

version de la machine locale (où j'exécute mongorestore)

db version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_Arch: x86_64

Échec de: prod.devicestate: erreur de création d'erreurs pour prod.devicestate: Créerindex Erreur: valeurs dans V: 2 Modèle de clé d'index ne peut pas être de type objet. Seuls les chiffres> 0, les chiffres <0 et les cordes sont autorisés.

Toute aide pour résoudre ce problème?

Merci

6
Simoyw

À partir de la version 4.2, Mongodump utilise le format JSON V2.0 étendu pour les fichiers de métadonnées. Pour analyser ces fichiers pour la restauration, utilisez Mongorestore Version 4.2+ qui prend en charge le format JSON V2.0 étendu (mode canonique ou assoupli).

Conseil
[.____] Si général, utilisez des versions correspondantes de Mongodump et Mongorestore. C'est-à-dire pour restaurer des fichiers de données créés avec une version spécifique de Mongodump, utilisez la version correspondante de Mongorestore.

https://docs.mongodb.com/manual/reference/program/mongodump/#metadata-format

Donc, vous devez exécuter Mongorestore avec v4.2.0

Ou, essayez ceci (garder la sauvegarde de Mongodb)

  1. Arrêter mongod v4.2.0
  2. Exécutez Mongod V4.0.10 (si vous échouez, allez le tour suivant)
  3. base de données Mongodump avec V4.0.10

Autre truc:

mongodump utilise le format JSON V2.0 étendu pour les fichiers de métadonnées

  1. Démarrer mongod v4.0.10.10
  2. Créer toutes les collections + index
  3. mongodump V4.0.10
  4. Remplacer metadata files .json Dump v4.2.0 avec v4.0.10
  5. dump Mongoestore avec V4.0.10
0
Valijon