通过pymongo远程连接和执行mongodb命令

时间:2016-01-21 04:57:29

标签: python mongodb pymongo

下面是我的python代码,它远程连接到mongodb主机并执行mongodb命令“db.serverStatus()。connections”。

以下脚本的预期输出是:

{ 
"current" : 43,
"available" : 51157,
"totalCreated" : NumberLong(3988)
} 

但我没有得到任何输出.....

PYTHON CODE:

import pymongo

host = 'mongo_server.com'
port = 27018
db_name='test'
user='user'
passwrd='password'

def get_connection():
    con=pymongo.Connection(host,port)
    db=con[db_name]
    try:
        db.authenticate(user,passwrd)
        print db.command("serverStatus")["connections"]

    except:
        return None
    return db

get_connection()

1 个答案:

答案 0 :(得分:0)

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 是一个必需的前缀,用于标识这是标准连接格式的字符串。

用户名:密码@ 是可选的。如果给定,驱动程序将在连接到数据库服务器后尝试登录数据库。对于某些身份验证机制,只指定了用户名而密码不是,在这种情况下,":"用户名也被关闭后 host1是URI中唯一必需的部分。它标识要连接的服务器地址。

:portX 是可选的,如果没有提供,则默认为:27017。

/ database 是要登录的数据库的名称,因此仅在使用username:password @ syntax时才相关。如果没有指定" admin"默认情况下将使用数据库。

?选项是连接选项。请注意,如果数据库不存在,那么最后一个主机和?之间仍然需要/?介绍选项。选项是名称=值对,并且对由"&"分隔。为了向后兼容,";"除了"&"之外,它被接受为分隔符,但应被视为已弃用。

click here for detailed explanation on above command