处理聚合查询中的数组输入

时间:2015-09-25 04:32:07

标签: arrays node.js mongodb

我需要匹配mongodb数据库中从前端传递的名称。 如果从前端传递多个名称,我可以通过请求将它们作为数组。我正在尝试使用$ in来匹配从前端传递的名称。

如果我使用for循环并形成动态变量,我没有得到任何结果。

             nameList = NameDetails[0];

            for(var i=1; i< NameDetails.length; i++){

               nameList = nameList +"," +NameDetails[i].trim();

            }

            for(var i=1; i< NameDetails.length; i++){

               nameList = nameList + ",\""+NameDetails[i].trim()+"\"";

            }

NameDetail.aggregate([
                         { $match : {names: {$in: nameList } } },
                        ], function(err, res){
    //
}

如果我直接访问如下,我得到结果

NameDetail.aggregate([
                         { $match : {names: {$in: NameDetails[0], NameDetails[1]} } },
                        ], function(err, res){
    //
}

请帮我解决这个问题。提前致谢。

0 个答案:

没有答案