2015-08-29 37 views
1

我想在訪問我的API時運行與mongoose mongodb上的查詢,但是這不起作用。它總是給我一個錯誤。

如果我在mongo客戶端上搜索db.my_collection.find({composition_name:[「olive」,「oil」]}),那麼它可以很好地工作。

我的代碼看起來像下面:

exports.show = function(req, res) { 
    var tmp = req.params.id.split(","); 
    var search = JSON.stringify(tmp); 
    console.log("searching for "+search); 

    ComplementaryFood.find({ 
    ingredient_name : { $in : search } 
    } ,function (err, complementary_food) { 
    if(err) { return handleError(res, err); } 
    if(!complementary_food) { return res.send(404); } 
    return res.json(complementary_food); 
    }); 
}; 

搜索像[ 「橄欖樹」, 「油」]或[ 「啤酒」]一個JSON等

請幫幫忙,我已經閱讀了moongose文檔,嘗試了很多不同的東西,但都沒有工作...

btw。我的項目建立在yoman的角度全堆疊發生器上

回答

2

$in獲取數組值,而不是字符串。所以不要串起tmp,直接使用它:

ComplementaryFood.find({ 
    ingredient_name : { $in : tmp } 
}, ... 
+0

非常感謝!這工作! – RaptoX