2011-10-12 41 views
1

我想在Python中創建以下查詢來獲得MongoDB的連接。在Python中使用JSON向MongoDB發送查詢

db.deal.find({"id":"11223|14589"}) 

通過使用寫下面的代碼:

import json 

unique_id = "11223|14589" 

query = json.dumps({"id":"%s"}) %(unique_id) 

不幸的是,這將創建一個字符串,結果我沒有得到任何來自MongoDB中返回的結果。使用在變量查詢中創建的字符串手動查詢實際返回結果。任何人都知道我可以做些什麼來讓pymongo工作?

回答

1

不知道你想在這裏實現什麼。

首先,您不應該將任何內容序列化爲JSON。尤其是在序列號爲後,不能替換字符串的部分。

其次,是unique_id您正在尋找的一個值?如果是這樣,只需將它傳遞給查詢:

unique_id = '11223|14589' 
foo.find({'id': unique_id}) 

或者是您想要搜索的這兩個值?

unique_id = '11223|14589' 
ids = unique_id.split('|') # ['11223', '14589'] 
foo.find({'id': {'$in': ids}}) 
+0

謝謝!由於某些原因,當我直接在字典中使用變量時,我沒有得到所需的引用。您的解決方案奏效 – Dave