【问题标题】:pymongo specify variable in connection stringpymongo 在连接字符串中指定变量
【发布时间】:2012-07-28 11:42:14
【问题描述】:

我正在使用 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 (db) 和 collection (col)。但我想在上面的例子中用 db 和 col 替换变量值。

谢谢。

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    试试这个:

    d = con[db][col].find_one()
    

    【讨论】:

    • 谢谢。我想我从前就知道 :)
    【解决方案2】:

    你可以使用:

    d = getattr(getattr(con, db), col).find_one()
    

    虽然看起来有点不雅。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      相关资源
      最近更新 更多