作者kennykobe (鳳山下智久)
看板Python
標題[問題] pymongo問題
時間Fri Apr 20 14:43:45 2018
目前有一個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