pymongo:检查我们是否已连接到MongoDB数据库

时间:2017-04-05 10:52:34

标签: python django mongodb pymongo

Successfully added user: {
"user" : "ash",
"roles" : [
    {
        "role" : "readWrite",
        "db" : "myDB"
    },
    "clusterAdmin"
]

我正在尝试实现一个任务,只有当pymongo存在连接时,然后返回True以便函数可以继续,否则它应该返回False并检查连接的消息。所以我们不要再继续了。

我怎样才能做到这一点?

编辑1:接受的解决方案

DB_NAME = "myDB"
client = MongoClient('localhost',27017)
db = client[DB_NAME]
def db_connect():
    #connecting to a DB in mongoDB
    try:
        if db.authenticate("ash","password"):
            print("Connection Successful!")
            return True
    except:
        print("Please check your connection")
        return False

def db_close():
    print ("Connection Getting Closed")
    client.close()

if __name__ == "__main__":
    db_connect()
    db_close()

}

我使用上面的代码段添加了一个用户,然后使用了以下脚本。

{{1}}

我已使用此代码段连接到我的数据库 现在连接到DB 我的PC上有数据库,我使用的是Ubuntu 16.04。

1 个答案:

答案 0 :(得分:1)

你可能不得不在连接函数中使用authenticate方法,所以你可以这样做:

In [12]: client = MongoClient(DB_MACHINE, DB_PORT)
In [13]: db = client.db_name
In [16]: if db.authenticate(DB_USER, DB_PASS, source=DB_SOURCE):
             # authenticated, do ...
         else:
             # not authenticated, not connected, do something else