Utilisation de mongodump, bsondump et mongoimport.
Parfois, les collections mongodb peuvent devenir un peu complexes avec des tableaux/objets imbriqués, etc. où il serait relativement difficile de construire des boucles autour d'eux. Ma méthode de travail est un peu rudimentaire mais fonctionne dans la plupart des cas, quelle que soit la complexité de la collection.
1. Exporter la collection en utilisant mongodump en .bson
mongodump --db=<db_name> --collection=<products> --out=data/
2. Convertir le format .bson en .json à l'aide de bsondump
bsondump --outFile products.json data/<db_name>/products.bson
3. Remplacez les chaînes de caractères dans le fichier .json avec sed(pour le terminal linux) ou avec tout autre outil.
sed -i 's/oldstring/newstring/g' products.json
4. Importez à nouveau la collection .json avec mongoimport avec la balise --drop qui supprimera la collection avant l'importation.
mongoimport --db=<db_name> --drop --collection products <products.json
Alternativement, vous pouvez utiliser --uri pour les connexions dans les deux mongoimport et mongodump
exemple
mongodump --uri "mongodb://mongoadmin:mystrongpassword@10.148.0.7:27017,10.148.0.8:27017,10.148.0.9:27017/my-dbs?replicaSet=rs0&authSource=admin" --collection=products --out=data/