看板 Python 關於我們 聯絡資訊
目前有一個list,變數名稱是config_project_uuid = ['8667f347-9bc1-4ad0-9905-4136a628cde6', '8667f347-9bc1-4ad0-9905-4136a628cde6', 'e003d898-e52b-4549-99af-b3acc8338091'] cursor = collection.find({ "project_uuid": { "$in" : config_project_uuid }}) for document in cursor: print (document) 可是找出來的結果只有兩筆,因為list裡面的第一筆跟第二筆是相同的 $in改成$all之後,反而找不出任何結果 有沒有辦法在list裡面有重複的值時候,把所有的都找出來呢?? 請教大神了,Thanks -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.87.216 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1524206629.A.C22.html
aszx4510: for? 04/20 15:52
※ 編輯: kennykobe (122.146.87.216), 04/20/2018 16:09:03 用for in去跑,print出來的結果只有兩筆 ※ 編輯: kennykobe (122.146.87.216), 04/20/2018 16:14:33
extraymond: 那如果用aggregate-match呢? 04/20 23:11
aszx4510: for uuid in config_project_uuid: 04/21 01:31
aszx4510: 這樣子沒辦法跑出三筆結果嗎? 04/21 01:32
extraymond: {'$match':{'$or':[{'id':i} for i in [1,2,3]]}} 04/21 17:55
extraymond: aggregate + list comprehension試試看 04/21 17:56
aszx4510: 抱歉 我沒注意是pymongo的問題 答非所問了QQ 04/22 00:12