Javascript mongo$text中的转义反斜杠和双引号
我对mongo$text$搜索短语有问题。所以我想从我的变量中创建一个$search短语$搜索短语应如下所示:“搜索”。因此,在javascript中,我们可以跳过引号和反斜杠,只需再添加一个斜杠:Javascript mongo$text中的转义反斜杠和双引号,javascript,mongodb,Javascript,Mongodb,我对mongo$text$搜索短语有问题。所以我想从我的变量中创建一个$search短语$搜索短语应如下所示:“搜索”。因此,在javascript中,我们可以跳过引号和反斜杠,只需再添加一个斜杠:“\\\\\”搜索“。但是,如果我们打印或将其传递到某个地方,我们将在不同的环境中得到不同的结果。在浏览器中,我们将在节点js(5.x)中获得'\\\\\\',我们将获得此'\\\\\\\\\\\'。怎么了? 我的最终目标是构建用于mongoDB$文本操作符的$搜索字符串。也许有人可以帮我解决这个问题
“\\\\\”搜索“
。但是,如果我们打印或将其传递到某个地方,我们将在不同的环境中得到不同的结果。在浏览器中,我们将在节点js(5.x)中获得'\\\\\\'
,我们将获得此'\\\\\\\\\\\'
。怎么了?
我的最终目标是构建用于mongoDB$文本操作符的$搜索字符串。也许有人可以帮我解决这个问题或我上面的问题。(我知道时间不早了,但我想回答一下,以防有人发现这个页面正在寻找解决这个问题的方法)
您不必使用正确的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...
希望对您有所帮助。也许您应该展示一个我们可以重现的案例,这样就可以很容易地指出代码过程中需要更正的部分。显示一个示例,说明从何处发送字符串以及发送方式。确定。下面是一个例子。然后尝试将代码放入浏览器的控制台。