【发布时间】:2020-07-17 23:16:58
【问题描述】:
我正在用 expressjs 和 mongoose 构建一个应用程序, 我正在尝试构建一个搜索端点,如此处指定的 Spotify api https://developer.spotify.com/documentation/web-api/reference/search/search/
我在弄清楚如何将给定的查询参数转换为正则表达式以匹配所需的结果时遇到了问题。
我的端点看起来像这样example.com/search?q=searchText
要求:
-
q=roadhouse blues需要匹配名称中包含 roadhouse 和 blues 的所有结果。例如:匹配“Blues Roadhouse”和“Roadhouse of the Blues”。 -
q="roadhouse blues"如果提供了引号,则必须与确切的单词匹配。例如:匹配“My Roadhouse Blues”,但不匹配“Roadhouse of the Blues” -
q=roadhouse NOT blues匹配名称中包含 roadhouse 但不包含 blues 的所有结果。 -
q=roadhouse OR blues匹配名称中包含 roadhouse 或 blues 的所有结果。 -
q=bob year:2014匹配包含姓名 bob 和 2014 年的结果 -
q=bob year:2014-2020匹配包含姓名 bob 和 2014 年至 2020 年之间的年份的结果
【问题讨论】:
-
能否为最后两个添加示例?名字为 bob 和年份的那个
标签: node.js regex mongodb express mongoose