【发布时间】:2019-04-10 08:35:53
【问题描述】:
我有 mongo 聚合的过滤器:
query['$or'] =
{
firstName: {
$search: filter.keyword,
},
},
{
lastName: {
$regex: filter.keyword, $options: 'xi',
},
},
稍后我将查询附加到聚合。 有用户:名字:'约翰'。姓氏:'雪'。 如果 filter.keyword = 'jo', 'john', 'john ', 一切正常,返回 1 个结果,但如果 filter.keyword = 'john s',返回 0。 我知道我需要检查的不是正则表达式,而是结果字符串中是否出现字段值,然后所有后续字符都将被忽略,结果将返回给我。我无法拆分,并检查数组中的条目,复杂名称会出错。 这可能是一个非常愚蠢的问题,但我无法验证名称 John 在字符串“John S”中的出现。 稍后的查询将附加到 $match 中的聚合。 谢谢你的回答!!!
【问题讨论】: