Я пытаюсь написать асинхронную функцию, чтобы дать мне случайный документ из коллекции mongodb.Как переписать асинхронную функцию (node.js, monk)
var getRandDoc = function(){
var db = monk('localhost/data');
var coll = db.get('coll');
coll.count({}, function(err, count){
if (err) console.log(err);
else {
coll.find({}, {limit:-1, skip:randomNum(0, count)}, function(err, out){
if (err) console.log(err);
else{
db.close();
return out[0]['name'];
}
});
}
});
}
В другом файле, я называю эту функцию с чем-то вроде:
console.log(test.getRandDoc());
И я получаю undefined
Что я делаю не так и как это исправить?
Что происходит не так? Вы получаете сообщения об ошибках? – azium
Возвращает undefined. Я забыл упомянуть об этом, но отредактировал его. – user3642365