Javascript 如何在环回查询中搜索整个字符串

Javascript 如何在环回查询中搜索整个字符串,javascript,regex,loopback,Javascript,Regex,Loopback,当我键入任何单词时,我想搜索整个字符串,它只匹配第一个字符,不匹配整个字符串和字符串的中间字符 query.and.push({ or: [{ name: { like: '^' + data.searchTextNEM + '.*', options: 'i' } }, { email: { like: '^' + data.searchTextNEM + '.*', options: 'i' } },{ phone: { like: '^' + data.searchTextNEM + '.

当我键入任何单词时,我想搜索整个字符串,它只匹配第一个字符,不匹配整个字符串和字符串的中间字符

query.and.push({ or: [{ name: { like: '^' + data.searchTextNEM + '.*', options: 'i' } }, { email: { like: '^' + data.searchTextNEM + '.*', options: 'i' } },{ phone: { like: '^' + data.searchTextNEM + '.*', options: 'i' } }]});

Users.find({where: query, limit: data.limit,skip: data.skip },function(err,res){})

就像我有两个字符串
1.mark
2.denim
如果我键入
'm'
我的回答应该是mark和denim,但只得到了回应
mark
我认为你的正则表达式不正确。如果插入“m”,则正则表达式变成
^m.
,意思是“以m开头,然后有任意数量的字符”。我想您需要
*m.*
这意味着“有任意数量的任意字符,然后是一个m,然后是任意数量的任意字符”:


您可以尝试以下方法:-

name: { ilike: '%' + data.searchTextNEM + '%' }
它还将与不区分大小写的文本匹配

或:

您可能已通过like filter中的选项:-

?filter={"where":{"title":{"like":"someth.*","options":"i"}}}

忽略-只是查看了什么是
环回。仅供参考,loopback stackoverflow标记似乎指向其他内容
?filter={"where":{"title":{"like":"someth.*","options":"i"}}}