Javascript Mongoose:使用数据数组进行查询并返回相同数量的结果

Javascript Mongoose:使用数据数组进行查询并返回相同数量的结果,javascript,arrays,node.js,mongodb,mongoose,Javascript,Arrays,Node.js,Mongodb,Mongoose,我有一个csv,其中包含类别列。有一些类别名称重复,因此我创建了一个包含所有类别名称的数组,如: var abc = ['A','A','B','A'] //array with duplicate data 如本例中所示,当am使用以下内容查询文档时,A将重复此操作: CollectionA.find({ categoryName: abc }, function(err, data){ if(err){ console.log(err); }

我有一个csv,其中包含类别列。有一些类别名称重复,因此我创建了一个包含所有类别名称的数组,如:

var abc = ['A','A','B','A']  //array with duplicate data
如本例中所示,当am使用以下内容查询文档时,A将重复此操作:

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

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

您可以使用
数组.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);
});

获取唯一的一个,然后使用
array#map
生成所有数据。您能告诉我如何生成这些数据吗?您能用示例文档进行解释吗