使用Mongoose搜索数据,其中并非所有字段都已输入



我正在编写搜索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);

相关内容

  • 没有找到相关文章

最新更新