Electron-Vue中操作本地数据库NeDB

来源:csdn博客 分类: 文章浏览史 发布时间:2021-09-12 12:53:14 最后更新:2021-09-12 浏览:328
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2021-09-12 12:53:14

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

 

php技术微信