Risposte:
È molto semplice importare un file .bson :
mongorestore -d db_name -c collection_name /path/file.bson
Solo per una singola raccolta. Prova questo:
mongorestore --drop -d db_name -c collection_name /path/file.bson
Per ripristinare la cartella completa esportata da mongodump
:
mongorestore -d db_name /path/
Mongorestore -h [host] -u [user] -p [pass] -d [database] -c [collection] [bson file]
mongorestore
è lo strumento da utilizzare per importare file bson scaricati da mongodump
.
Dai documenti :
mongorestore prende l'output da mongodump e lo ripristina.
Esempio:
# On the server run dump, it will create 2 files per collection
# in ./dump directory:
# ./dump/my-collection.bson
# ./dump/my-collection.metadata.json
mongodump -h 127.0.0.1 -d my-db -c my-collection
# Locally, copy this structure and run restore.
# All collections from ./dump directory are picked up.
scp user@server:~/dump/**/* ./
mongorestore -h 127.0.0.1 -d my-db
dump/dbName/collectionName.bson
struttura delle cartelle? Ho usato mongodump
, ma ora voglio importarlo usando mongorestore
su una scatola Linux remota.
mongorestore --collection people --db accounts myDump/accounts/people.bson
bsondump collection.bson > collection.json
e poi
mongoimport -d <dbname> -c <collection> < collection.json
mongoimport and mongoexport do not reliably preserve all rich BSON data types because JSON can only represent a subset of the types supported by BSON. As a result, data exported or imported with these tools may lose some measure of fidelity.
Eseguire quanto segue dalla riga di comando e si dovrebbe essere nella directory bin Mongo.
mongorestore -d db_name -c collection_name path/file.bson
Devi eseguire questo comando mongorestore tramite cmd e non su Mongo Shell ... Dai un'occhiata al comando seguente su ...
Esegui questo comando su cmd (non sulla shell Mongo)
>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson
Ecco il path\to\mongorestore.exe
percorso della mongorestore.exe
cartella bin interna di mongodb. dbname è il nome di databse. collection_name
è il nome di collection.bson. path\to\same\collection.bson
è il percorso fino a quella raccolta.
Ora dalla shell mongo è possibile verificare che il database sia stato creato o meno (se non esiste, il database con lo stesso nome verrà creato con la raccolta).
Solo per riferimento se qualcuno sta ancora lottando con mongorestore.
Devi eseguire monogorestore nel terminale / prompt dei comandi e non nella console mongo.
$ mongorestore -d db_name /path_to_mongo_dump/
per maggiori dettagli è possibile visitare la documentazione ufficiale
https://docs.mongodb.com/manual/reference/program/mongorestore/
Se il tuo accesso da remoto puoi farlo
per bson:
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people "/home/${USER}/people.bson"
per bson compresso in formato .gz (gzip):
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people --gzip --dir "/home/${USER}/people.bson.gz"
mongorestore -d nome_db / percorso /
assicurati di eseguire questa query nella cartella bin di mongoDb
C: \ Programmi \ MongoDB \ Server \ 4.2 \ bin -
quindi esegui questo comando sopra.
mongoexport
se esporti solo singole raccolte.mongoimport
mi stava dando errori di "carattere non valido". Grazie!