2013-11-25 4 views
11

私はMongoose.jsを使い慣れていないので、送信された順序で文字を含む値を返す簡単なMongooseクエリを作成する方法を知りたいと思います。Mongooseで部分文字列一致の検索クエリを作成するにはどうすればいいですか?

これは、検索フィールドに入力された文字を含む都市を返す必要のあるオートコンプリートフォームのためのものです。 .whereのクエリから始めますか?

+1

'ln'は' London'と 'Koeln'を返しますか? –

+0

申し訳ありませんが、良い点は、検索フィールドに入力された順序で文字列を含む値を返す必要があります – ac360

+0

http://stackoverflow.com/questions/35838387/how-to-find-all-the-results-containing-a -given-substring-with-mongoose/41398045#41398045 –

答えて

23

regexpで見つけることができますが、これは柔軟性のある(ただし極端ではないが)方法で検索することができます。コードは次のようなものです。もちろん

var input = 'ln'; // the input from your auto-complete box 

cities.find({name: new RegExp(input, "i")}, function(err, docs) { 
    ... 
}); 

、あなたはなど前処理、それは($で追加)端から、(^で先頭に追加)最初から一致させる文字列の可能性だけで長い文字列の任意の部分に対してマッチングがあってもよいことに注意してくださいスロー。

関連する問題