mongo$text中的转义反斜杠和双引号

Escape backslash and double quote in mongo $text

本文关键字:text 转义 mongo      更新时间:2023-09-26

我在mongo$text$搜索短语时遇到问题。所以我想从我的变量中创建一个$search短语$搜索短语应该如下所示:"''"search''"。因此,在javascript中,我们可以转义引号和反斜杠,只需再添加一个斜杠:''''"search'''"'。但如果我们把它打印或传递到某个地方,我们会在不同的环境中得到不同的结果。在浏览器中,我们将在节点js(5.x)中获得''"search'"',我们将获得此'''"search''"。怎么了?我的最终目标是构建$search字符串,用于mongoDB$text运算符。也许有人可以帮我解决这个问题或者我上面的问题。

(我知道已经很晚了,但我想回答,以防有人发现这个页面正在寻找解决这个问题的方法)

您不必使用正确的Javascript格式来编写它。只需在MongoShell 中保持原样即可

db.collection.find({$text:{$search:''"search'"'}}, function...

因此,处理通用字符串的一个好方法是

var search = "generic phrase to search";
search = ''"' + search.split(' ').join(''" '"') + ''"';
db.collection.find({$text:{$search:search}}, function...

希望有帮助。