Согласно документации Dynamoose :
Dog.scan().exec()
.then(function(dogs) {
return Promise.all(dogs.map(function(dog) {
return dog.populate({
path: 'parent',
model: 'Dog'
});
}));
})
.then(function(dogs) {
console.log(dogs);
});
Так как сканирование дает вам массив объектов, вы должны заполнить каждый элемент индивидуально и ждать, пока все эти обещания будут выполнены.