Electron-Vue中操作本地数据库NeDB
Posted aiguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Electron-Vue中操作本地数据库NeDB相关的知识,希望对你有一定的参考价值。
NeDB是使用Node.js实现的一个NoSQL嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及JSON深度查询等。
NeDB嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其API是MongoDB的一个子集,可以通过这些接口轻松管理应用程序数据,而不依靠原始的文档文件。
具有简单、轻量、速度快等特点,由于嵌入式数据库存储总数据量最好要控制在1GB以内,所以适合在不需要大量数据处理的应用系统中使用。
1. 安装NeDB数据库
cnpm install nedb --save
2. 新建本地数据库文件
// datastore.js
import Datastore from 'nedb';
import path from 'path';
import { remote } from 'electron';
export default new Datastore({
autoload: true,
// 指定数据库文件路径
filename: path.join(remote.app.getPath('userData'), '/data.db')
})
3. 引入数据库文件绑定
// main.js
// 引入DB数据库文件
import db from './datastore.js';
// 绑定数据库到vue上
Vue.prototype.$db = db;
4. 使用数据库
// 查找数据
this.$db.find({"age":30}, (err, docs)=>{
if(err){
console.log(err);
return;
};
console.log(docs);
});
// 插入数据
this.$db.insert({"name":20,"age":100},function(err,doc){
if(err){
console.log(err);
return;
}
console.log(doc);
})
// 更新数据
this.$db.update({"_id":"cHODtJOIft1YcOMN"},{$set:{"name":"赵六"}},function(err,data){
if(err){
console.log(err);
return;
}
console.log(data);
})
// 移除数据
this.$db.remove({"_id":"6nAYPLImXRs7mB0P"},{},function(err,data){
if(err){
console.log(err);
return;
}
console.log(data);
})
参考:
https://www.w3cschool.cn/nedbintro/nedbintro-akpf27mi.html
https://simulatedgreg.gitbooks.io/electron-vue/content/cn/savingreading-local-files.html
以上是关于Electron-Vue中操作本地数据库NeDB的主要内容,如果未能解决你的问题,请参考以下文章
聊聊 electron-vue-serialport 的添加数据持久化分析以及解决方案,关联 pouchdb nedb vuex-persistedstate