मेरे पास मेरे 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 के माध्यम से अवयवों को पास करना चाहता हूं, मैं कैसे पैरामीटर को पास कर सकता हूं {$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 लेकिन मुझे टिप्पणी लिखने और वहां पूछने के लिए पर्याप्त प्रतिष्ठा नहीं है। और यहां तक कि इसमें यह नहीं दिखाया गया है कि मैं कई पैरामीटर कैसे पास कर सकता हूं
उत्तर:
उत्तर № 1 के लिए 1क्या आप JSON सरणी में पास हो सकते हैं:
{$text: {$search: [ "potato", "tomato" ] } }