exports.all = function(cb) {
db.get().collection('tasks').find({"parent_id": null}).sort({order: 1}).toArray(function(err, docs) {
docs.forEach( function (x) {
x.sub = db.get().collection('tasks').find({"parent_id": x._id.toString()}).sort({order: 1}).toArray();
});
cb(err, docs);
});
};
В результате выполнения этого кода в x.sub помещается не массив, а promise.
Как изменить код, чтобы получить, следующий результат
{ _id: 1
name: 'Person1',
parent_id : 0,
sub : [
{_id: 3, name: 'Person3', parent_id : 1},
{_id: 4,name: 'Person4', parent_id : 1},
]
},
{ _id: 2
name: 'Person2',
parent_id : 0,
sub: []
}