【发布时间】:2017-06-29 21:55:42
【问题描述】:
我在 React 中有一个 Web 应用程序,我在后端创建了一个使用简单 REST API 的搜索功能,我将一个对象传递给 Mongo 的 find 函数来搜索我的数据库并返回结果.
对象当前的格式如下:
{
attribute1: { $regex: <searchTerm1>, $options: 'i' };
attribute2: { $regex: <searchTerm2>, $options: 'i' };
attribute3: { $regex: <searchTerm3>, $options: 'i' };
}
这将返回我的数据库中的所有文档,其中 attribute1 包含 searchTerm1,attribute2 包含 searchTerm2 等。到目前为止,这部分工作正常,我可以搜索我的属性。
我现在想做的是让用户能够选择多个选项并通过它们进行搜索。例如,用户可以为attribute1 输入searchTerm1 和searchTerm2,为attribute2 输入searchTerm3,它会返回每个包含searchTerm1 或 searchTerm2 in attribute1 and searchTerm3 的文档。我还没有找到一种方法来做到这一点。
我目前正在做的是为我的前端中的每个属性创建一个包含搜索词的数组,但我不确定如何执行后端部分,我实际上将所有这些词输入到猫鼬中并进行搜索。
【问题讨论】:
标签: node.js mongodb mongoose full-text-search