猫鼬:查询数据数组并返回相同数量的结果

时间:2018-11-14 13:56:02

标签: javascript arrays node.js mongodb mongoose

我有一个csv,其中包含类别列,有些类别名称会重复,因此我制作了一个数组,其中包含所有类别名称,例如:

var abc = ['A','A','B','A']  //array with duplicate data

在此示例中,A在重复,因此当我使用该查询文档时:

CollectionA.find({
    categoryName: abc
}, function(err, data){
    if(err){
      console.log(err);
    }
    console.log(data);
});

但是它只返回AB的2个文档,但我希望与数组长度相同的行数与我希望输出应返回相同数量的文档一样。

1 个答案:

答案 0 :(得分:1)

您可以使用Array.map()在回调中简单地复制结果,请尝试:

var abc = ['A','A','B','A']
CollectionA.find({ categoryName: abc }, function(err, data){
    if(err){
        console.log(err);
    }
    data = abc.map(category => data.find(d => d.category_name === category));
    console.log(data);
});