使用Mongoose搜索数据,而不是输入所有字段

时间:2016-07-28 17:51:14

标签: mongodb mongoose mongodb-query

我正在编写搜索API,用户可以使用字段组合搜索个人。 (名字,姓氏,职位)。如果输入了名字和标题名称,则搜索将返回与名字和标题匹配的所有记录。我希望优化我的搜索,所以寻找一些选项/反馈。

我面临的问题是任何搜索,不是所有数据都可以输入,所以如果没有输入姓氏,我的搜索没有返回记录(根据我在下面显示的方式),尽管我应该使用First搜索和职称。我很难使用Mongoose设置我的搜索查询。

一种选择是检查数据是否已输入,然后即时构建我的查询;但是,使用Mongoose,我尝试创建我的查询,这种方法不起作用。

这就是我现在所拥有的 Individual.find( { 第一:第一, 最后:最后一个, 标题:标题 })

我尝试根据输入的数据将其构建为字符串,然后传递

query = { 第一:第一, 最后:最后一个, 标题:标题 })但无论输入什么/如何构建和插入查询(查询),都会返回所有记录。

感谢对此的任何反馈。

1 个答案:

答案 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);