我正在尝试编写一个脚本来将批量数据放入mongodb 尽管有成千上万的请求。
剧本:
#!/bin/bash
while read line
do
echo "$line" | python <(cat <<HERE
import sys
import json
from bson import BSON
with open("test.bson", "a") as myfile:
for line in sys.stdin:
bson_string = BSON.encode(json.load(line.rstrip()))
myfile.write(bson_string)
HERE
)
done < /srv/test.json
#mongorestore -collection -test.bson
示例test.json
:
$ cat /srv/test.json
{ "foo" : "bar" }
{ "foo" : "bar" }
{ "foo" : "bar" }
{ "foo" : "bar" }
{ "foo" : "bar" }
{ "foo" : "bar" }
{ "foo" : "bar" }
该脚本逐行读取文件test.json
并将json转换为bson。输出存储在test.bson
中并上传(mongorestore
)到mongoDB。
但是上面的代码没有工作,我没有收到任何错误,bson
文件也是空的。