【发布时间】:2019-07-11 20:19:11
【问题描述】:
在 MongoDB 查询中,我尝试匹配具有字符串字段的记录,该字符串字段在该字符串中任何单词的开头包含搜索词。正则表达式在 regex101.com 上正常工作。
/\bCh/i
匹配值:
奇亚籽
我喜欢吃奇亚籽
我喜欢吃奇亚籽
但是,当我在 MongoDB 查询中尝试相同的操作时,我没有得到匹配的记录。
{
"TenantNames" : /(\bSmith)/i
}
我也尝试了/(\bSmith.*)/i 和/(\bSmith.*\b)/i,但它们也都没有返回匹配的记录。我错过了什么?
我正在使用 C# 驱动程序来构建查询。
【问题讨论】:
-
调试这个的好方法是使用正则表达式
.然后如果它不匹配,那么它不是正则表达式对吗?这将是你的语言所期望的用法、引用和形式。类似的东西。 -
@sln 。作品。我得到的最接近的是 /(?=.*Ch)/i,但它会返回任何在单词的任何部分而不是开头都具有值“ch”的字符串,因此返回的结果太多。
-
你试过
{ TenantNames: { $regex: /\bCh/i }吗? docs.mongodb.com/manual/reference/operator/query/regex
标签: c# regex mongodb mongodb-query