我尝试将新成员添加到mongodb中设置的副本。有可能 用os.system做。但是如何使用subprocess.call()?
到目前为止,我有:
import subprocess
task='''"rs.add('alehandro-VirtualBox:27067')"'''
port=27072
subprocess.call(["/usr/bin/mongo", " --port {0}".format(port), " --eval {0}".format(task)])
MongoDB shell版本:2.4.5 连接到: - port 27072 Sun Jul 28 16:34:18.884 JavaScript执行失败:错误:[ - port 27072]不是src / mongo / shell / mongo.js中的有效数据库名称:L40 异常:连接失败
有人可以帮我吗?
答案 0 :(得分:1)
正在使用名为 - 端口27072 的参数调用mongo进程,并使用值 - eval .. 调用mongo进程,因为您将参数传递给subprocess.call。
如果您将 subprocess.call 调用更改为以下内容,则它应该有效:
subprocess.call(["/usr/bin/mongo", "--port", str(port), "--eval", task])