Mongodb 如何匹配由特殊字符(如连字符和空格)组成的字符串

Mongodb 如何匹配由特殊字符(如连字符和空格)组成的字符串,mongodb,aggregation-framework,pymongo,Mongodb,Aggregation Framework,Pymongo,我有一个字符串: word : 'A-Scan Ultrasonic' 如何将其与: 'A Scan Ultrasonic' 我已经试过我的运气了 {word:{$regex:".*A Scan Ultrasonic.*",$options: 'i'}} 但这并没有带来任何结果 请告诉我如何匹配,非常感谢您的帮助,TIA这实际上不是mongo的事情,您应该使用适当的正则表达式。 试试这个: { name: { $regex: /.*A(-|\s)Scan(-|\s)Ultrasoni

我有一个字符串:

word : 'A-Scan Ultrasonic'
如何将其与:

   'A Scan Ultrasonic'
我已经试过我的运气了

{word:{$regex:".*A Scan Ultrasonic.*",$options: 'i'}}
但这并没有带来任何结果


请告诉我如何匹配,非常感谢您的帮助,TIA

这实际上不是mongo的事情,您应该使用适当的正则表达式。 试试这个:

{ name: { $regex: /.*A(-|\s)Scan(-|\s)Ultrasonic.*/}}

这一点解释得很好,mate,但是如果我不知道连字符或空格在哪里,而只是匹配包含连字符和空格的字符串呢?
{“name”:{$regex:(-\s)}
谢谢你,mate,还有一个疑问,我怎么能像这样写一个查询:
'$match':{“word”:re.compile(r.*“+word+”*”}
,这里的
word
是一个变量,有一些字符串值……我怎么能对你的答案做同样的事情呢?你试图用python编写mongo正则表达式,这是错误的。这样写:
regex\u pattern=“.*”+word+“*”db.collectionname.find({'name':{'regex':regex\u patern})
我写过,将python正则表达式字符串保留在某个变量中,然后像上面那样通过让我们假设如果你的一个医生有:
word:'A-Scan超声波'
&另一个医生有
word:'A-超声'
&另一个医生有
word:'A-Scan'
你必须匹配这三个吗?还有你的MongoDB版本是什么?Hey@whoami是它的4.2伙伴,不,它应该只匹配'A-Scan超声波',而不是你提到的其他版本……好吧,那就不那么容易了&mongo没有提供任何直接的东西,除非你按照给定的答案中所述使用正则表达式来控制它。.答案提供正则表达式为
{“name”:{$regex:(-\s)}
,但是如何与
“$match”相同:{'word':重新编译(r“*”+word+“*”}
。。。。。在这里,它检查word是否包含在文档word中,与上面类似,如何进行此匹配?不确定,因为我还没有在pymongo al d bst上工作过。。