I have a lot of json files in archive and i need to import them into mongo per one operation (i think that it might be in cycle). Have you any ideas about this?
MongoDB Bulk import using mongoimport from Windows folder
Asked Answered
In which operating system you want to import ? –
Carrero
I want to import in Win7 –
Conveyancing
If you are in a Linux/Unix shell you can try
for filename in *; do mongoimport -d mydb -c $filename; done
If you are on Windows:
FOR %i IN (C:\mongodbData\*.json) DO mongoimport --db dbName --collection colection --type json --file %i
Well, how it works?:) I'm copy this into the shell, edit db and col. Where i need to point a folder with jsons? @Sumeet –
Conveyancing
i have updated the answer. You can write windows path in IN parameter .@Conveyancing –
Carrero
Needs a semicolon after $filename before done, at least on OSX. –
Seeger
But this is importing everything in single collection i.e 'collection', what if there are the different collections with different names.? I would like to create collections with json file names without extension –
Dilate
error parsing command line options: expected argument for flag `/file' –
Amaro
this script works however it connected to mongodb client so in case of importing thousands of files it takes quite a lot of time. is there anyway to speed up the script? –
Inconspicuous
mongorestore is import all exported mongodb files
cd C:\Program Files\MongoDB\Server\4.0\bin
mongorestore.exe -d <db name> C:\Users\Mike\Downloads\myProject\
But if you really want to import all only meta json files without .bson
cd C:\Users\Mike\Downloads\myProject\
FOR %i IN (*.json) DO "C:\Program Files\MongoDB\Server\4.0\bin\mongoimport.exe" --db <db name> --collection %~ni --type json --file %i
This is sample work on windows 10
You need to use mongorestore
for recovery from dump, created by the mongodump
http://docs.mongodb.org/v2.6/reference/program/mongorestore/
for example
mongorestore --drop --oplogReplay mongodb/
Isn't mongorestore for BSON dump files rather than JSON? –
Sinecure
You can use this:
FOR %i IN (<data folder>\*.json) DO mongoimport -d <database> -c <collection> --file %i
© 2022 - 2024 — McMap. All rights reserved.