Python 如何将MONGODB集合导出为json或csv格式,MONGODB位于docker容器中
我在docker容器中有一个应用程序,它使用mongodb。 有一个名为“device”的特定db,它有一个名为“inventory”的集合,我希望将所有这些集合都转换成json或csv文件,以便将数据导出到splunk并进行分析 当我试图获取一个设备id的信息时,它工作了,我将它重定向到一个文件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
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您需要指定字段如果我想要所有字段怎么办?我明白了谢谢!!!!”!!!!