簡體   English   中英

如何編寫使用pymongo連接到mongodb的函數

[英]how do I write a function for connecting to mongodb using pymongo

我正在嘗試編寫一個函數以連接到mongodb並返回一個集合對象。 我有以下內容:

def getCollection(dbname,collection):
    client = MongoClient()
    data_base = client.dbname
    collObject = data_base.collection
    return collObject   

當我跑步時:

collection = getCollection(client, "hkpr_restore", "agents")
print collection

我得到:

Collection(Database(MongoClient('localhost', 27017), u'dbname'), u'collection')

我究竟做錯了什么?

使用client.dbname ,將調用屬性dbname ,這意味着您正在檢索名為dbname的數據庫。

同樣適用於data_base.collection

解:

def getCollection(dbname, collection):
    client = MongoClient()
    data_base = getattr(client, dbname)
    collObject = getattr(data_base, collection)
    return collObject

替代方法:您可以使用字典樣式訪問:

def getCollection(dbname, collection):
    client = MongoClient()
    data_base = client[dbname]
    collObject = data_base[collection]
    return collObject

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM