Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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运行mongo CL,但在CL上运行时成功_Python_Mongodb_Mongodb Query_Redhat - Fatal编程技术网

无法通过python运行mongo CL,但在CL上运行时成功

无法通过python运行mongo CL,但在CL上运行时成功,python,mongodb,mongodb-query,redhat,Python,Mongodb,Mongodb Query,Redhat,我尝试使用python运行此命令,它在3.4.x下的mongodb版本中运行良好,但在3.4.x下不起作用。 这是命令: su - mongod -c "/usr/bin/mongo admin -u admin -p password --authenticationDatabase admin --port 27017 --eval 'version()' 这就是我得到的错误: MongoDB shell version v3.4.14 connecting to: mongodb://

我尝试使用python运行此命令,它在3.4.x下的mongodb版本中运行良好,但在3.4.x下不起作用。 这是命令:

su - mongod -c "/usr/bin/mongo admin -u admin -p password 
--authenticationDatabase admin --port 27017 --eval 'version()'
这就是我得到的错误:

MongoDB shell version v3.4.14
connecting to: mongodb://127.0.0.1:27017/admin
MongoDB server version: 3.4.14
2018-04-26T17:34:06.036+0000 E QUERY    [thread1] Error: Authentication failed. :DB.prototype._authOrThrow@src/mongo/shell/db.js:1461:20@(auth):6:1@(auth):1:2:
但是,当我在命令行上运行完全相同的命令时,我得到了预期的结果:

MongoDB shell version v3.4.14
connecting to: mongodb://127.0.0.1:27017/admin
MongoDB server version: 3.4.14
3.4.14

如何解决这个问题?

为什么要尝试从python程序启动服务器和shell“内联”?这在很多层面上都是错误的,所以你最好解释一下你“认为”你想要这个是为了什么。然后我们可以告诉您应该做什么。@NeilLunn这是用于自动化脚本的。我需要从服务器获取一些信息(例如状态),您正在启动服务器,更重要的是,您没有等待服务器启动。对于您的实际用途,您需要比“自动化脚本”更具描述性。很可能你正试图“重新发明轮子”,所以我们需要你明确地说明你真正试图这样做是为了什么,因为我们可能会告诉你应该做什么。