node.js - 使用 mongoose,express 搜索短语

标签 node.js mongodb express mongoose

遵循mongodb的文档here ,我正在尝试使用 mongoose 搜索某些内容,同时使用 Express 的搜索查询,我的代码是这样的

collection_name.find{$text: { $search: req.query.search} }

但这会从数据库返回错误的数据集(因为它没有将查询视为短语)

我正在尝试接受这个

db.articles.find( { $text: { $search: "\"coffee shop\"" } } )

(这是文档中的示例,它给出了我想要的结果)

进入此:

collection_name.find( { $text: { $search: "\"req.query.search\"" } } )

但将 req.query.search 作为变量而不是字符串。

最佳答案

我认为您需要使用反引号字符来构建这样的搜索词:

db.articles.find( { $text: { $search: `"${req.query.search}"` } } )

关于node.js - 使用 mongoose,express 搜索短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397729/

相关文章:

unicode - node.js Nerve 框架 unicode 响应

angularjs - Nodejs http ://test. dev :3000/api/profile. 否 'Access-Control-Allow-Origin' header Origin 'http://localhost:9000'

git - 我可以使用 Git 备份 MongoDB 数据库吗?具体来说,我可以在 github 存储库中包含 mongo 数据目录吗?

node.js - 增加数组对象 mongodb-node 中元素的属性值

node.js - Sequelize 数据库迁移问题

javascript - Meteor、NPM 模块和光纤回调

javascript - Angular 资源 - $resource :badcfg

mongodb - 返回按几何分组的 MongoDB 结果

php - MongoDB 从集合中提取数组元素

javascript - NodeJs 无法将数据从 MongoDB 返回到 frontpage