2016-11-11 14 views
1

私はmongoデータベースにこのようなコレクションを持っていますが、それは分類学的と呼ばれています。MongoDB化合物テキスト検索

{ 
    "_id" : ObjectId("5810e15a762a39b41912a131"), 
    "validName" : "Eros", 
    "idUser" : ObjectId("1") 
} 
{ 
"_id" : ObjectId("5810e15a762a39b41912a132"), 
"validName" : "Eros", 
"idUser" : ObjectId("2") 
} 

私はすでにこのような2つの値を検索するための複合インデックスを作成しました。

db.taxonomic.createIndex({"idUser":1,"validName":1}) 

は今、私はパラメータの両方がコレクションの同じ文書で発見された場合にのみ、それからの復帰を検索し、取得できるようにしたい、ここに私の試みです:

db.taxonomic.find({$text:{$search:"Eros 2"}},{idUser:1,validName:1}) 

このメソッドの問題は、 "Eros" OR "2"の一致を返し、 "Eros"と "2"がコレクションのドキュメントで一致したときの値の返り値です。

ありがとうございました!私はいけない

+0

は、あなたがテキストインデックスを作成したフィールドに教えてもらえますしたい場合、あなたはそれのためにテキストインデックスを必要だと思います? –

答えて

0

はあなただけあなたがテキストインデックスを追加する必要がある特定の文字列

db.taxonomic.find({"$or" : [{"validName" : "Eros"},{"validName" : "2"}]},{idUser:1,validName:1}) 
+0

私は 'と'演算子を探していましたが、それでも私の質問に答えました。ありがとう。 –

関連する問題