相关疑难解决方法(0)

Mongodb - 如何在多个字段中查找字符串?

在这种情况下使用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,或

现在我还需要在first_name + last_name组合中找到searchString.

我怎样才能做到这一点?在mongo中是否有办法通过查询将两者合并为"全名",然后搜索全名?

mongodb

18
推荐指数
1
解决办法
2万
查看次数

正则表达式:匹配至少两个搜索词

我有一个搜索词列表,我希望有一个正则表达式匹配所有至少有两个项目的项目.

条款:战争|军队|战斗|反叛者|冲突

比赛:反叛分子军队之间的战争导致本周发生了几次冲突.(4次点击)

不匹配:在战争的恐怖,奥巴马政府希望增加无人机袭击的数量.(仅1次点击)

背景:我使用微小的rss来收集和过滤新闻报道项目的大量信息.我每天获得1000 - 2000个Feed项,并希望按关键字过滤它们.通过使用| OR表达式,我得到了很多误报,所以我想我可以在一个feed项中要求两个匹配.

谢谢!

编辑:

我对正则表达式知之甚少,所以到目前为止我一直坚持使用简单的| OR运算符.我尝试将搜索词放在括号中(war | fight | etc){2,},但只有在项目使用相同的词两次时才匹配.

EDIT2:对不起,我是正则表达式之类的新手.事实是:正则表达式查询mysql数据库.它作为过滤器输入到tt-rss后端,它只允许一行(虽然理论上是无限数量的字符).在将feed项导入mysql数据库时使用过滤器.

regex search

3
推荐指数
1
解决办法
3171
查看次数

标签 统计

mongodb ×1

regex ×1

search ×1