0
在我的路由器發佈的請求,我解析搜索參數,然後使用數據庫查找使用參數。然而,用戶可以選擇混合和匹配他想使用/不想使用的參數(標題/標籤),所以最終我必須搜索幾個不同的東西,因此存在一些條件確定如下所示的搜索。如何避免有這麼多的貓鼬搜索條件?
router.post('/eventItems/:title', function(req, res) {
psuedocode for setting up booleans
這裏是多個條件句是用來確定哪些搜索
if (tagsShouldBeSearched && searchTitle)
{
eventItem.find({title: searchTitle, tags: tags}, function(err, data) {
var jsondata = JSON.stringify(data);
res.render('eventItems', {events : jsondata, loggedIn: isLoggedIn, matching_events: data, user : req.user });
});
}
else if (tagsShouldBeSearched)
{
eventItem.find({tags: tags}, function(err, data) {
var jsondata = JSON.stringify(data);
res.render('eventItems', {events : jsondata, loggedIn: isLoggedIn, matching_events: data, user : req.user });
});
}
else
{
eventItem.find({title: searchTitle}, function(err, data) {
var jsondata = JSON.stringify(data);
res.render('eventItems', {events : jsondata, loggedIn: isLoggedIn, matching_events: data, user : req.user });
});
}
});
有沒有更好的方式去這樣做,而無需使用這麼多的條件語句?我也想過使用丟失的不同路由器地址發帖,但也許這太多了?
謝謝!
永遠無法理解的查詢,感謝這樣一個明確的答案構建查詢了 – user3340037 2014-09-03 21:48:07