我有一個非常大的csv,我試圖通過搜索。我決定使用MongoDB並加載整個csv,以便以後可以用python和pymongo快速搜索它,而不是每次嘗試搜索時都加載全部80MB。我無法弄清楚的是,如何搜索給定用戶代理的集合並將其與項目'_id'字段中的正則表達式匹配。我首先將browscap條目處理爲python rege,然後將該條目插入到mongo集合中。使用MongoDB和pymongo將字符串匹配到正則表達式
如何使用pymongo搜索正則表達式mongoID的給定用戶代理?
實施例的用戶代理:
AppleCoreMedia/1.0.0.12B440(ipad公司; U; CPU OS 8_1_2像的Mac OS X; EN_US)
例Browscap項:
AppleCoreMedia/1.0 *(iPhone * CPU OS 8 *,如Mac OS X *)*
實施例的Regex蒙戈ID:???
^AppleCoreMedia \/1 \\ 0 \ * \\(iPhone * CPU \\ OS \\ 8 * \\如\ \的Mac OS \\ \\ X *?\\)。*?$
你在這裏說什麼? 「正則表達式」本身是存儲在_id中的字符串嗎?或者只是存儲在'_id'中的用戶代理字符串,並且您想用正則表達式搜索?對於前一種情況,您需要[MongoDB反向正則表達式](http://stackoverflow.com/questions/15966991/mongodb-reverse-regex)中提到的'$ where'評估。認爲它不是一個好表演者,如果是這樣的話,你可能想重新思考你在做什麼。 –