2016-07-28 8 views
0

私は、ユーザーがexのフィールドの組み合わせを使用して個人を検索する機能を持つ検索APIを作成しています。 (名、姓、役職)を入力します。 First NameとTitle Nameが入力された場合、検索は最初の名前とタイトルに一致するすべてのレコードを返します。私は検索を最適化するためにいくつかのオプション/フィードバックを探しています。すべてのフィールドが入力されていない場合、Mongooseを使用してデータを検索する

私が直面している問題は、すべてのデータが入力されるわけではないため、姓が入力されていない場合、私の検索ではレコードを返しません。最初と職名。私はMongooseを使って検索クエリを設定するのに苦労しています。

1つのオプションは、データが入力されているかどうかを確認し、その場でクエリを構築することです。しかし、Mongooseを使って、私は自分のクエリを作成しようとしましたが、そのアプローチはうまくいきませんでした。私はその後、入力されたデータに基づいて、文字列としてこれを構築しようとした

({タイトル :最後最初、 :最後に、 タイトル 最初} )

は、ここで私が今持っているもの Individual.findです

クエリを渡す= { 最初:最初、 最後:最後に、 タイトル:タイトル })が、関係なく、クエリが構築および挿入のfind(クエリ)がどのように/入力されているものすべてのレコードを返しません。

これに関するフィードバックをお待ちしております。

答えて

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); 
+0

ありがとうございます。あなたが提案したようにして、私の問題を解決することができました。 – Bhavin

関連する問題