global.[[DB]].query TypeError: Cannot read property 'DB' of undefined



  • В общем ситуация такая

    решил я что б один и тоже код не писать в разных проектах
    скинуть его в свой собственный модуль
    у меня там идет работа с базой и в разных проектах название этих баз разные к примеру у проекта 1 пусть будет db1 у проекта 2 db2
    В каждом из этих проектов идет коннект со своей базой
    проект 1

    const mysql = require("mysql2/promise");
    
    global.db1 = mysql.createPool({
        host: 'localhost',
        user: 'user',
        database: 'db1',
        password: "pass",
        waitForConnections: true,
        connectionLimit: 32,
        queueLimit: 0
    });
    

    проект 2

    const mysql = require("mysql2/promise");
    
    global.db2 = mysql.createPool({
        host: 'localhost',
        user: 'user',
        database: 'db2',
        password: "pass",
        waitForConnections: true,
        connectionLimit: 32,
        queueLimit: 0
    });
    

    Так вот мне нужно как то иметь возможность из этого модуля обращаться к базе проекта к которому он подключен
    Для этого я в функции модуля создал параметр который назвал db и нем указываю к какой базе в данном случае модуль должен подключаться
    сам параметр в функцию модуля успешно передается
    и далее в функции модуля которая должна получить из указанной базы я пытаюсь написать

    await global.[[DB]].query("SELECT * FROM table")
        .then(results =>{
        })
        .catch(function(err) {
            console.log(err.message);
        });
    

    и вот тут то и всплывает эта ошибка
    Cannot read property 'DB' of undefined
    которая не дает мне получить имя базы так как я обращаюсь к переменной как имени свойства объекта



  • Написал вот так

    global[''+[[DB]]+''].query
    

    и заработало



  • @gomeapat said in global.[[DB]].query TypeError: Cannot read property 'DB' of undefined:

    Написал вот так

    global[''+[[DB]]+''].query
    

    и заработало

    global[ [[DB]] ].query
    

Log in to reply
 

  • 15
  • 5
  • 10
  • 23
  • 3
  • 13
  • 2
  • 4