在这种情况下使用Pymongo.
我有User的电子邮件,first_name,last_name.
我正在使用这个Pymongo片段:
user_found = users.find({'$or':[
{'email':{'$regex':searchString, '$options':'i'}},
{'first_name':{'$regex':searchString, '$options':'i'}},
{'last_name':{'$regex':searchString, '$options':'i'}}]})
Run Code Online (Sandbox Code Playgroud)
这个例子有用,如果我想找到searchString:
现在我还需要在first_name + last_name组合中找到searchString.
我怎样才能做到这一点?在mongo中是否有办法通过查询将两者合并为"全名",然后搜索全名?
我有一个搜索词列表,我希望有一个正则表达式匹配所有至少有两个项目的项目.
条款:战争|军队|战斗|反叛者|冲突
比赛:反叛分子和军队之间的战争导致本周发生了几次冲突.(4次点击)
不匹配:在战争的恐怖,奥巴马政府希望增加无人机袭击的数量.(仅1次点击)
背景:我使用微小的rss来收集和过滤新闻报道项目的大量信息.我每天获得1000 - 2000个Feed项,并希望按关键字过滤它们.通过使用| OR表达式,我得到了很多误报,所以我想我可以在一个feed项中要求两个匹配.
谢谢!
编辑:
我对正则表达式知之甚少,所以到目前为止我一直坚持使用简单的| OR运算符.我尝试将搜索词放在括号中(war | fight | etc){2,},但只有在项目使用相同的词两次时才匹配.
EDIT2:对不起,我是正则表达式之类的新手.事实是:正则表达式查询mysql数据库.它作为过滤器输入到tt-rss后端,它只允许一行(虽然理论上是无限数量的字符).在将feed项导入mysql数据库时使用过滤器.