我正在使用pymongo连接到我的mongodb数据库。我正在尝试调用连接字符串中的数据库名称和集合名称,但我想不通。
如果我有一个数据库名称(mydb)和一个名为(mycol)的集合,则此示例有效:
con = Connection('mymongodbhost')
d = con.mydb.mycol.find_one()
print (d)
这很好,但假设我将mydb和mycol定义为变量,如何在连接字符串中调用它们。假设我有:
db = parser.get('some_conf_file', 'db_name')
col = parser.get('some_conf_file', 'col_name')
如何在连接字符串中指定db和col变量(这只是一个代码片段)?我试过各种各样的组合,但这肯定不起作用:
d = con.db.col.find_one()
print (d)
这基本上就是调用数据库(db)和集合(col)。但是我希望在上面的例子中用db和col替换变量值。
谢谢。
试试这个:
d = con[db][col].find_one()
您可以使用:
d = getattr(getattr(con, db), col).find_one()
虽然看起来有点不雅。