Javascript Mongoose:使用数据数组进行查询并返回相同数量的结果
我有一个csv,其中包含类别列。有一些类别名称重复,因此我创建了一个包含所有类别名称的数组,如: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); }
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
生成所有数据。您能告诉我如何生成这些数据吗?您能用示例文档进行解释吗