Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Не получается присвоить значение переменной (https://javascript.ru/forum/node-js-io-js/81762-ne-poluchaetsya-prisvoit-znachenie-peremennojj.html)

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 и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/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

рони,
спасибо большое


Часовой пояс GMT +3, время: 05:23.