我正在编写搜索API,用户可以使用ex.(名字、姓氏、职务)的字段组合来搜索个人。如果输入了名字和职称,则搜索将返回与名字和职称匹配的所有记录。我希望优化我的搜索,所以寻找一些选项/反馈。
我面临的问题是,对于任何搜索,并不是所有的数据都可以输入,所以如果没有输入姓氏,我的搜索不会返回任何记录(根据我的表现,如下所示),尽管我应该使用名字和职务进行搜索。我很难用Mongoose设置我的搜索查询。
一种选择是检查是否输入了数据,然后动态构建我的查询;然而,使用Mongoose,我尝试创建查询,但这种方法不起作用。
这是我现在拥有的个人.find({第一:第一,last:最后,title:title})
我试着根据输入的数据将其构建为字符串,然后通过
查询={第一:第一,last:最后,title:title})但返回所有记录,无论输入了什么/查询是如何构建和插入的find(query)。
感谢对此的任何反馈。
如果最后一个不存在,就不要通过。
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);