編輯: 我已經略微提煉了一個問題。pymongo查詢沒有輸出
mongo_documents = mongo_collection.find({"medicalObjectId": "269"})
print "\n\n"
for this_document in mongo_documents:
print this_document
print "-------------------------"
pqr = 269
mongo_documents2 = mongo_collection.find({"medicalObjectId": pqr})
print "\n\n"
for this_document2 in mongo_documents2:
print this_document2
我的問題是,我使用數字作爲查詢中的關鍵字的第一個代碼塊工作。但是,我使用變量的第二塊,我沒有輸出。
我是python和pymongo的初學者,請耐心等待。
我有一個列表爲; row = [1,2,...,100]
我想爲列表中的每個條目查詢一個mongodb集合。 收集的格式爲: 集合= {「PK」,「ATTRIBUTE1」,「attribute2」,「attribute3」}
我想打電話給MongoDB的連接,並通過與排在我的列表中的每個條目迭代[我] = pk並返回其他屬性作爲輸出。
即。 mongo_documents = mongo_collection.find({'pk':row [0]}) mongo_documents = mongo_collection.find({'pk':row [1]}) 等等。
,我有代碼:
for row in result_set:
print row[0]
mongo_documents = mongo_collection.find({'medicalObjectId' : row[0]})
print mongo_documents
for this_document in mongo_documents:
print "----------------------------------"
print this_document
但是我沒有得到任何輸出。我哪裏錯了? 如果我打印mongo_documents,我得到
<pymongo.cursor.Cursor object at 0xe43150>
你爲什麼不使用IPython的,並試圖檢查this_document變量。當然,查找API並在代碼中正確獲取文檔更容易,但我會鼓勵您在初學者時使用它。 – spicavigo 2011-10-17 13:22:30
儘管有上面的評論,讓我解釋一下。 mongo_document是一個將用於獲取結果的遊標。你可以像對待迭代器一樣對待它,並繼續調用它的next()方法來獲取下一個匹配的文檔,直到出現StopIteration異常。否則,你在循環中完成它的方式 – spicavigo 2011-10-17 13:27:16