так и должно быть, ведь поля _id title итд в объекте перезаписываются, не может быть у одно объекта несколько полей с одинаковым именем
как должен бы был выглядеть финальный объект после reduce?
может быть ты хочешь просто
collection.find({}).toArray(function(err, tasks){
if(err) return console.log(err);
res.send({ tasks });
console.log("Данные отправленны");
})
});
только тогда вообще незачем toArray, можно сразу объект с результатом посылать например
collection.find({}).then(data => res.json(data))