2012-07-28 3 views
0

내 mongodb 데이터베이스에 연결하는 데 pymongo를 사용하고 있습니다. 연결 문자열에서 데이터베이스 이름과 컬렉션 이름을 호출하려고하는데이를 이해할 수 없습니다. 나는 데이터베이스 이름 (MYDB)라는 이름의 모음이있는 경우pymongo 연결 문자열에 변수를 지정하십시오.

(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로 대체 된 변수 값을 원합니다.

감사합니다.

답변

5

이 시도 :

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

감사합니다. 나는 내가 옛날 옛적에 그것을 알고 있었다라고 생각한다 :) –

0

당신은 사용할 수 있습니다

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

그것을 조금 세련 보이지만.

관련 문제