Как перезагрузить несколько коллекций в 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() несколько раз подряд.