【发布时间】:2020-01-30 23:09:53
【问题描述】:
我有这个问题
db.words.find({ "$text": { "$search": "\"cake sale\"" } }) // gives expected answer in robo3T
现在我的text 搜索是动态的
const text = "cake sale"
db.words.find({ "$text": { "$search": `\\"${text}\\"` } })
但它并没有给我预期的 nodejs 输出。那么如何在这里解析反斜杠呢?
【问题讨论】:
-
您在第二个示例中的反引号之后有一个额外的引号。所以你搜索的是“cake sale”而不是“cake sale”
-
您的查询与文档中显示的语法不匹配:docs.mongodb.com/manual/text-search
db.stores.find( { $text: { $search: "\"coffee shop\"" } } )末尾有一个额外的双引号。所以只需在末尾添加最后一个" -
@nopassport1 是的,你是对的。但是你还能告诉我如何使用动态字符串来做到这一点吗?
-
我猜:
db.words.find({ "$text": { "$search":"\\"${text}\\""` } })`?但是您的搜索查询应该只是“蛋糕销售” -
@nopassport1 不...我的查询应该是\"cake sale\"
标签: node.js mongodb mongodb-query