我需要编写一个DB连接函数,
def func(col_name):
conn = pymongo.MongoClient("localhost" , 27017)
db = conn.dbname.col_name
return db
集合名称应作为参数传递给函数。以上功能不起作用。如果我在代码中对集合名称进行了硬编码,它就可以了。 请帮忙。
答案 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)