Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将MONGODB集合导出为json或csv格式,MONGODB位于docker容器中_Python_Mongodb - Fatal编程技术网

Python 如何将MONGODB集合导出为json或csv格式,MONGODB位于docker容器中

Python 如何将MONGODB集合导出为json或csv格式,MONGODB位于docker容器中,python,mongodb,Python,Mongodb,我在docker容器中有一个应用程序,它使用mongodb。 有一个名为“device”的特定db,它有一个名为“inventory”的集合,我希望将所有这些集合都转换成json或csv文件,以便将数据导出到splunk并进行分析 当我试图获取一个设备id的信息时,它工作了,我将它重定向到一个文件 sudo /usr/local/bin/docker exec -it ss2-$HOSTNAME mongo device -u marco -p <pasword> --authent

我在docker容器中有一个应用程序,它使用mongodb。 有一个名为“device”的特定db,它有一个名为“inventory”的集合,我希望将所有这些集合都转换成json或csv文件,以便将数据导出到splunk并进行分析

当我试图获取一个设备id的信息时,它工作了,我将它重定向到一个文件

sudo /usr/local/bin/docker exec -it ss2-$HOSTNAME mongo device -u marco -p <pasword> --authenticationDatabase admin  --eval 'printjson(db.inventory.findOne({"host_ip": "1.1.1.1"}))' --quiet >> /tmp/json.txt
sudo/usr/local/bin/docker exec-it ss2-$HOSTNAME mongo device-u marco-p--authenticationDatabase admin--eval'printjson(db.inventory.findOne({“host_ip:“1.1.1”}))--quiet>/tmp/json.txt
但是我希望所有的集合都显示出来,并且被重定向到/tmp/json.txt

我确实试过了

sudo /usr/local/bin/docker exec -it ss2-$HOSTNAME mongo device -u marco -p <pasword> --authenticationDatabase admin  --eval 'printjson(db.inventory.find( {} ))' --quiet >> /tmp/json.txt
sudo/usr/local/bin/docker exec-it ss2-$HOSTNAME mongo device-u marco-p--authenticationDatabase admin--eval'printjson(db.inventory.find({}))--quiet>/tmp/json.txt

当我在容器内运行时,它会显示所有收集数据,但当我在容器外运行时,我看不到任何数据。

可能的重复我认为当您开始返回多个项目时,
printjson
无法处理。正如M.R.指出的问题所表明的那样,
mongoexport
将是这项工作的正确工具。你能帮我把这个家伙改成mongoexport吗?我试了很多次,但都失败了
sudo/usr/local/bin/docker exec-it ss2-$HOSTNAME mongo device-u marco-p--authenticationDatabase admin--eval'printjson(db.inventory.find({} ))“--quiet>/tmp/json.txt
我想我现在明白了错误是断言:9998你需要指定字段如果我想要所有字段怎么办?我明白了谢谢!!!!可能的重复我不认为
printjson
在你开始返回多个项目时能够处理a。就像M.R.poin的问题一样ted向大家展示了,
mongoexport
将是这项工作的正确工具。你能帮我把这个家伙改成mongoexport吗?我试了很多次,但都失败了
sudo/usr/local/bin/docker exec-it ss2-$HOSTNAME mongo device-u marco-p--authenticationDatabase admin--eval'printjson(db.inventory.find({}))“--quiet>>/tmp/json.txt
我想我现在明白了错误是断言:9998您需要指定字段如果我想要所有字段怎么办?我明白了谢谢!!!!”!!!!