экспорт пулов соединений mysql узла - PullRequest
0 голосов
/ 13 мая 2018

Я делаю приложение с использованием Electronjs.Я создал один пул соединений, который я буду использовать глобально в моем проекте.Пользователь может выбрать сервер MySQL, к которому он должен подключиться, и выбранная конфигурация сервера будет сохранена в базе данных lokijs.Когда мы создаем пул соединений, мы получаем подробные сведения о соединении mysql из базы данных lokijs.

Теперь я получаю сообщение об ошибке, подобное этому.

Uncaught TypeError: Невозможно прочитать свойство 'find'из null

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

   var mysql = require('mysql');
   var loki = require("lokijs");

var db = new loki('config/config.json', {
    autoload: true,
    autoloadCallback: databaseInitialize,
    autosave: true,
    autosaveInterval: 1000 // save every four seconds for our example
});

function databaseInitialize() {
    // on the first load of (non-existent database), we will have no collections so we can 
    //   detect the absence of our collections and add (and configure) them now.
    var CurConnection = db.getCollection("CurConnection");
    if (CurConnection === null) {
        CurConnection = db.addCollection("CurConnection");
    }
}

var CurConnection = db.getCollection("CurConnection");
var rows = CurConnection.find({
    '$loki': {
        '$eq': 1
    }
});

var row = rows[0];

var servername = row.selservername;
var port = row.selport;
var dbname = row.seldbname;
var username = row.selusername;
var password = row.selpassword;

var connection = mysql.createPool({
    multipleStatements: true,
    host: servername,
    port: port,
    user: username,
    password: password,
    database: dbname
});

module.exports = connection;

1 Ответ

0 голосов
/ 17 октября 2018

Добавьте сон через 2-3 секунды после этого кода

var CurConnection = db.getCollection("CurConnection");
if (CurConnection === null) {
    CurConnection = db.addCollection("CurConnection");
}

или перед этим кодом

 var rows = CurConnection.find({
    '$loki': {
        '$eq': 1
    }
  });
...