Я занимаюсь разработкой Vue-Electron с NeDB.При использовании NeDB я столкнулся с проблемой, что NeDB не сохраняет локальный файл, хотя я установил опцию filename
и autoload: true
.
Я попытался вывести журнал объекта db при загрузке NeDB, он установил правильный путь.
Datastore {inMemoryOnly: false,
autoload: true,
timestampData: false,
filename: "./db/nedb.db",
compareStrings: undefined, …}
autoload: (...)compareStrings: (...)
executor: Executorfilename: "./db/nedb.db"
inMemoryOnly: falseindexes: Objectpersistence: PersistencetimestampData: ...
Я видел другие сообщения.но я не мог понять, как сделать Then in the renderer process get the datastore via Electron.Remote
постоянство NEDB в приложении Electron
Я подумал, что это может произойти, потому что файл NeDB должен существовать до запуска скрипта.Поэтому я попытался touch nedb.db
, но это не сработало.
Более того, еще одна странная вещь: у меня есть другое приложение Vue, которое использует NeDB, и данные показали.Но я не устанавливаю путь базы данных в этом приложении.Вставленные данные этим приложением не существуют в файле базы данных другого приложения.
Ниже приведен мой код.Если бы кто-то мог мне помочь.Спасибо.
const remote = require('electron').remote;
const app = remote.app;
const path = require('path');
var db = new nedb({
//filename: path.join(app.getPath('userData'), 'library.db'),
filename: './db/nedb.db',
autoload: true
});
let doc = {
dev: true,
message: 'test'
}
db.insert(doc);
db.find({}, function (err, docs) {
console.log(docs)
console.log(err)
})