2012-07-28 38 views
0

我正在使用pymongo連接到我的mongodb數據庫。我試圖在連接字符串中調用數據庫名稱和集合名稱,但我無法弄清楚。pymongo指定連接字符串中的變量

如果我有一個數據庫名稱(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') 

我如何指定數據庫和col變量(的工作,僅僅是一個代碼片段)在我的連接字符串?我已經試過各種組合,而這肯定是不行的:

d = con.db.col.find_one() 
print (d) 

這主要是調用數據庫(DB)和集合(COL)。但是我想在上面的例子中用db和col代替變量值。

謝謝。

回答

5

試試這個:

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

感謝。我想我很早就知道這一點:) – 2012-07-28 04:40:30

0

你可以使用:

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

雖然這看起來有點不雅。