Вход

Просмотр полной версии : Не получается присвоить значение переменной


SE-Den
26.01.2021, 21:35
Всем привет, впал в ступор казалось бы из за мелочи, не могу присвоить значение переменной res всегда в консоли вижу undefined
надеюсь на помощь здешних профессионалов


var res;

function MDB() {
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
var result;
  
// установка схемы
const userScheme = new Schema({
    name: String,
    age: Number
});
  
// подключение
mongoose.connect("mongodb://localhost:27017/usersdb", { useUnifiedTopology: true });
  
const User = mongoose.model("User", userScheme);
const user = new User({
    name: "Bill",
    age: 41
});
  
User.findOne({name: "Bill"}, function(err, doc){
mongoose.disconnect();
if(err) return console.log(err);
console.log(res);
res = doc.name;
});
}

MDB();
console.log(res);

рони
26.01.2021, 21:46
SE-Den,
не надо переменную, надо callback

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:


... минимальный код страницы с вашей проблемой


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

SE-Den
26.01.2021, 22:16
рони,
Спасибо за ответ, но я не совсем понял где именно его использовать?

рони
26.01.2021, 22:35
SE-Den,
function MDB(callback) {
const mongoose = require("mongoose");
const Schema = mongoose.Schema;

// установка схемы
const userScheme = new Schema({
name: String,
age: Number
});

// подключение
mongoose.connect("mongodb://localhost:27017/usersdb", { useUnifiedTopology: true });

const User = mongoose.model("User", userScheme);
const user = new User({
name: "Bill",
age: 41
});

User.findOne({name: "Bill"}, function(err, doc){
mongoose.disconnect();
if(err) return console.log(err);
if(callback) callback(doc.name);
});
}

const callback = res => console.log(res);
MDB(callback);

SE-Den
26.01.2021, 22:39
рони,
спасибо большое