我正在编写搜索API,用户可以使用字段组合搜索个人。 (名字,姓氏,职位)。如果输入了名字和标题名称,则搜索将返回与名字和标题匹配的所有记录。我希望优化我的搜索,所以寻找一些选项/反馈。
我面临的问题是任何搜索,不是所有数据都可以输入,所以如果没有输入姓氏,我的搜索没有返回记录(根据我在下面显示的方式),尽管我应该使用First搜索和职称。我很难使用Mongoose设置我的搜索查询。
一种选择是检查数据是否已输入,然后即时构建我的查询;但是,使用Mongoose,我尝试创建我的查询,这种方法不起作用。
这就是我现在所拥有的 Individual.find( { 第一:第一, 最后:最后一个, 标题:标题 })
我尝试根据输入的数据将其构建为字符串,然后传递
query = { 第一:第一, 最后:最后一个, 标题:标题 })但无论输入什么/如何构建和插入查询(查询),都会返回所有记录。
感谢对此的任何反馈。
答案 0 :(得分:0)
不要过去。
var search_options = {};
if(first)search_options.first = first;
if(last)search_options.last = last;
if(title)search_options.title = title;
Individual.find (search_options);