Как перезагрузить несколько коллекций в LokiJS

Как правильно динамически перезагружать коллекции LokiJs внутри функции? Таким образом, это не имеет значения, если я вызываю функцию несколько раз подряд, чтобы я всегда мог выбрать Коллекции, которые я хочу загрузить.

Моя БД init:

const db = new Loki(path.join(__dirname, "..", Env.UPLOAD_PATH, Env.DB_NAME), {
  autoload: true,
  autosave: true,
  autosaveInterval: 10000,
  persistenceMethod: "fs"
});

Всякий раз, когда мне нужна коллекция, я делаю это:

const col = await loadCollection('col', db);
// loading serveral collections at once
const [colA, colB] = await [await loadCollection('colA', db),await loadCollection('colB', db)]

С определением для loadCollecion:

const loadCollection = function(colName, db) {
    return new Promise((resolve) => {
        db.loadDatabase({}, () => {
            const _collection = db.getCollection(colName) || db.addCollection(colName);
            resolve(_collection);
        });
    });
};

Я использую это только на моем Node Backend. Мне было интересно, если это плохая практика, потому что он может выполнять db.loadDatabase() несколько раз подряд.

0 ответов

Другие вопросы по тегам