Я установил nedb в мою настройку под управлением Vue и Electron, следуя этому руководству . Я не получаю ошибок при настройке базы данных, и кажется, что все работает с хранилищем.
У меня проблемы с отображением содержимого документа. Я, наверное, неправильно понимаю, как это сделать.
То, как я это сделал сейчас, заключается в том, что сначала у меня есть этот метод тестирования в Vue, который называется savePreset()
. Он просто создает документ и вставляет его в базу данных со следующим кодом из файла readme из nedb:
savePreset(){
var doc = { hello: 'world'
, n: 5
, today: new Date()
, nedbIsAwesome: true
, notthere: null
, notToBeSaved: undefined // Will not be saved
, fruits: [ 'apple', 'orange', 'pear' ]
, infos: { name: 'nedb' }
};
this.$db.insert(doc, function (err, newDoc) { // Callback is optional
// newDoc is the newly inserted document, including its _id
// newDoc has no key called notToBeSaved since its value was undefined
if (err) {
console.log(err);
} else {
console.log(newDoc)
}
});
}
newDoc
регистрируется в консоли при вызове этого метода, поэтому вставка работает. Затем я пытаюсь вывести содержимое документа, чтобы в конце концов просмотреть его и создать один элемент для каждого элемента в документе. Я пытаюсь сделать это с вычисляемым свойством, как это:
getDB(){
return this.$db.find({ hello: 'world' }, function (err, docs) {
// docs is an array containing documents Mars, Earth, Jupiter
// If no document is found, docs is equal to []
return docs
});
}
Однако getDB
- это undefined
при этом. Когда я пытаюсь console.log(docs)
в той же функции, он записывает в массив массив объектов, которые я добавил с помощью метода savePreset
. Таким образом, кажется, что можно получить документ, зарегистрировав его в функции, но ничего не отображается на внешнем интерфейсе, когда я пытаюсь вывести свойство с помощью {{getDB}}
.
Я подозреваю, что я должен сделать это по-другому. Есть идеи?