Попробуйте использовать async / await
getUrlsFromDatabase = async function(){
var blogs = await blog.find().select('url')
var sitemap = [];
for(var i=0; i<docs.length; i++) {
sitemap.push(docs[i].url);
}
return sitemap
console.log("Trying to get result docs here")
}
Обновление:
Или просто добавьте возврат к некоторому результату из функции
getUrlsFromDatabase = function(){
return blog.find() // <- add return here
.select('url')
.exec(function(err,docs){
var sitemap = [];
for(var i=0; i<docs.length; i++) {
sitemap.push(docs[i].url);
}
return sitemap
})
console.log("Trying to get result docs here")
}
Или просто сохраните его в переменной:
getUrlsFromDatabase = function(){
const result = blog.find() // <- add variable here
.select('url')
.exec(function(err,docs){
var sitemap = [];
for(var i=0; i<docs.length; i++) {
sitemap.push(docs[i].url);
}
return sitemap
})
return result // to return it outbound
}