2016-05-03 9 views
0

こんにちは、私はマングースコレクションの検索オプションを作成しています。問題はキーワード処理にあります。カンマ区切りまたはスペース区切りの場合は、OR条件パラメータとして扱う必要があります。このように複数の入力を追跡するにはどうすれば ""できますか?カンマ区切り。すべての参考文献または例は非常に有用です。テーブルの全文検索ページを作成する

答えて

0

$textオペレーターのドキュメントをご覧ください。

は、あなたが次の書類を持ってpostsと呼ばれるコレクションを持っていると仮定しましょう:

{postText: 'The dog ran really fast.'}, 
{postText: 'The cat ran pretty slow.'}, 
{postText: 'That hampster is crazy fast.'} 

は、テキストインデックスを作成していることを確認してください。

あなたの - または - の場合は、スペースで区切られたキーワードを渡してください。

// this will return all documents 
db.posts.find({$text: {$search: 'dog cat hampster'}}) 

// this will return two documents (dog & hampster) 
db.posts.find({$text: {$search: 'really fast'}}) 

フレーズを正確に一致させるには、引用符で囲みます。

// this will return one document (dog) 
db.posts.find({$text: {$search: '"really fast"'}}) 

これらも組み合わせることができます。

// this will return all documents 
db.posts.find({$text: {$search: '"really fast" cat'}}) 

希望します。

+0

あなたの提案に感謝@derek soike。しかし、入力がユーザーから提供されたとき、どうすれば「本当に速い」のような単一の単語か、「本当に」という2つの単語か、「速い」という単語を分類できますか? – NKMY