如何在python或shell脚本中使用MongodbeExport
我想通过mongodbexport从mongodb创建一个json输出 通过以下命令,它在终端中正确动作:如何在python或shell脚本中使用MongodbeExport,python,mongodb,Python,Mongodb,我想通过mongodbexport从mongodb创建一个json输出 通过以下命令,它在终端中正确动作: sudo mongoexport --db mydb --collection url_db --query '{"state": "processed"}' --out /mongodb_json/name.JSON 但是如何在shell脚本或python by subprocess.call中使用它呢 我在python中使用以下代码: call(["mongoexport", "--
sudo mongoexport --db mydb --collection url_db --query '{"state": "processed"}' --out /mongodb_json/name.JSON
但是如何在shell脚本或python by subprocess.call中使用它呢
我在python中使用以下代码:
call(["mongoexport", "--db","mydb","--collection","url_db","--query","'{\"state\": \"processed\"}'","--out ",outfile],shell=True)
但它会创建以下错误:“未指定集合!”,“将MongoDB数据导出到CSV、TSV或JSON文件。”
谢谢如果要通过
列表
传入参数,则需要删除shell=True
参数,否则仅使用列表的第一个元素来构造子流程调用(在这种情况下,仅调用mongoexport
)
只有在将命令作为字符串传递时,才使用shell=True
,而不是列表
call("mongoexport --db mydb --collection url_db --query '{\"state\": \"processed\"}' --out " + outfile, shell=True)
call("mongoexport --db mydb --collection url_db --query '{\"state\": \"processed\"}' --out " + outfile, shell=True)