如何将MongoDB集合名称作为参数传递给数据库连接函数-Python

时间:2015-01-24 10:55:39

标签: python mongodb

我需要编写一个DB连接函数,

def func(col_name):
    conn = pymongo.MongoClient("localhost" , 27017)
    db   = conn.dbname.col_name
    return db

集合名称应作为参数传递给函数。以上功能不起作用。如果我在代码中对集合名称进行了硬编码,它就可以了。 请帮忙。

2 个答案:

答案 0 :(得分:3)

def func(col_name):
    conn = pymongo.MongoClient("localhost" , 27017)
    return conn.dbname[col_name]

如果要传入数据库名称,可以从客户端执行相同的操作:

def func(db_name, col_name):
    conn = pymongo.MongoClient("localhost" , 27017)
    return conn[db_name][col_name]

答案 1 :(得分:2)

您可以使用getattr按属性名称获取对象的属性:

getattr(conn.dbname, col_name)