我在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但是我没有足够的声誉来写评论并在那里问。甚至在没有显示我怎么能传递多个参数。