使用mongodb中的文本搜索索引进行多输入和多重排除

时间:2015-08-24 20:37:52

标签: mongodb rest full-text-search full-text-indexing

我在mongoDb.in中收集了食谱,我已经在成分上创建了文本搜索索引。所以我可以根据我所拥有的成分搜索食谱。结果应该有食谱至少我通过的成分。 这是来自我的mongodb查询的示例

db.RecipeCollection.find({$text:{$search: "\"potato\" \"tomato\""}},{ score: { $meta: "textScore" } },{_id:0,ingredients:1,num_ingredients:1}).sort( { score:
 $meta: "textScore" },num_ingredients:1 } ).limit(20).pretty()

但问题是我想通过REST传递成分,如何在调用api时传递像{$text:{$search: "\"potato\" \"tomato\""}这样的参数。

recipes.find({ $text: { $search: req.params.ingredients,$language:"en" } }
            ,{ score: { $meta: "textScore" } }
            ,{_id :0,name:1,ingredients:1,url:1,image:1,num_ingredients:1})
            .sort({score: { $meta: "textScore" },num_ingredients:1})
            .limit(req.params.limit);

我已经看到了这个问题http://stackoverflow.com/questions/16902674/mongodb-text-search-and-multiple-search-words但是我没有足够的声誉来写评论并在那里问。甚至在没有显示我怎么能传递多个参数。

0 个答案:

没有答案