12

我在存档中有很多 json 文件,我需要每次操作将它们导入 mongo(我认为它可能处于循环中)。你对此有什么想法吗?

4

4 回答 4

25

如果您在 Linux/Unix shell 中,您可以尝试

for filename in *; do mongoimport -d mydb -c $filename;  done

如果您在 Windows 上:

FOR %i IN (C:\mongodbData\*.json) DO mongoimport --db dbName --collection colection --type json --file %i
于 2014-03-04T09:12:03.573 回答
3

mongorestore 是导入所有导出的 mongodb 文件

cd C:\Program Files\MongoDB\Server\4.0\bin
mongorestore.exe -d <db name> C:\Users\Mike\Downloads\myProject\

但是如果你真的想只导入所有没有 .bson的元json 文件

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

这是 Windows 10 上的示例工作

于 2019-01-25T19:35:08.670 回答
3

您需要mongorestore用于从转储中恢复,由mongodump

http://docs.mongodb.org/v2.6/reference/program/mongorestore/

例如

mongorestore --drop --oplogReplay mongodb/

于 2015-08-17T06:06:59.057 回答
0

你可以使用这个:

FOR %i IN (<data folder>\*.json) DO mongoimport -d <database> -c <collection> --file %i
于 2017-12-17T08:00:46.353 回答