: (1)你正在写一个 Node service,你希望他是可以轻松被打包的,安装独立的数据库不能满足需求 (2)使用 Node Webkit 开发了一个桌面应用,但是不想要求用户安装一个外部数据库 NeDB NeDB 可以只用作内存数据库,也可以进行数据持久化,你可以把 NeDB 理解为 MongoDB 版的 SQLite 使用示例 ? 的性能 NeDB 不是用来替代像 MongoDB 这样的真实数据库的,所以他的目标不是尽可能的快,而是够用就行 NeDB 可以达到 写 5000次/秒、读 25000次/秒 如果你的需求超出了这个,那么 NeDB便不适合了 安装 通过 npm install 来安装即可,module 名称是 nedb 项目地址 https://github.com/louischatriot/nedb 本文译自 http ://blog.mongodb.org/post/55693224724/nedb-a-lightweight-javascript-database-using
本地化存储 这个地方为了可以让数据长久保存,我选择了Node.js嵌入式数据库Nedb,你可以把他理解成一个简化版的MongoDB。 由于nedb不支持promise调用,我们选择使用nedb-promises(后简称nedb),直接安装即可 yarn add nedb-promises 由于nedb需要借助node的能力,所以我们需要开启 , pluginOptions: { electronBuilder: { nodeIntegration: true } } }) 使用方法也很简单,这里我们先对nedb 进行一个简单的封装 // datastore.js import Vue from 'vue' import Datastore from 'nedb-promises' const { app } = 具体使用方法可参考官方文档https://github.com/bajankristof/nedb-promises/blob/master/docs.md 也可以阅读文章源代码查看更多用法 桌面悬浮窗
vue-cli 前端框架和语言规范 vue + typescript 桌面端开发框架 electron electron支持插件 vue-cli-plugin-electron-builder 数据库 NeDB 标题过渡效果 切换index和setting时头部不变,内容过渡 数据储存:数据的创建和更新都在编辑页editor.vue进行,这个过程中在储存进nedb之后才通信列表页index.vue更新内容,考虑到性能问题 /nedbintro/n…[5] yarn add nedb @types/nedb 数据储存在nedb中,定义字段,并在根目录的shims-vue.d.ts加入类型 /** * 储存数据库的 : T[K]; }; import Datastore from 'nedb'; import path from 'path'; import { remote } from 'electron' ; /** * @see https://www.npmjs.com/package/nedb */ class INoteDB<G = any> { /** * 默认储存位置 *
1 创建文件 先把上一篇对数据库写的增删改查伪代码统统删掉,现在已经用不上了,如果大家对 nedb 的具体 api 还不清楚,可以直接去官网浏览即可,虽然我们是用了nedb-promises插件库,但其实 中编写函数新增 Markdown 数据,我们上一篇已经写过 demo 了,非常简单: 在template中的代码也很简单: 2 获取文件列表 我们创建了新文件,那肯定得在左侧的列表菜单展示出来,列表是从nedb sort是 nedb 自带的排序api,参照有道云笔记我们可以看到,最新编辑的永远是排序在最顶部的,所以我们设置 updatedAt: -1 来根据修改时间来倒序排列。 的修饰符@keyup.enter可以直接回车键执行搜索: handerSearch方法就可以调用我们刚才的获取列表方法了,如果搜索条件为空的时候就直接return结束,否则就传入需要搜索的标题名称,nedb
1 特点 视频播放器 拖拽播放 桌面歌词 mini模式 自定义托盘右键菜单 任务栏缩略图,歌曲操作 音频可视化 自动/手动检查更新 Nedb数据库持久化 自定义安装路径,安装界面美化 浏览器中启动客户端
包整理如下 art-template 一款js模板引擎,性能不错 jayson 一款纯node的rpc应用包,可实现rpc服务、tcp、http等服务 multer 文件上传 nedb
2.4 NeDB ❝The JavaScript Database, for Node.js, nw.js, electron and the browser. https://github.com/louischatriot /nedb ❞ NeDB 是一个 JavaScript 数据库,能够运行在 Node.js、nw.js、Electron 和浏览器环境。
示例二:OData(基于simple-odata-server+nedb内存库)这个库的README里给了非常直接的最小例子:定义模型,挂上适配器,就能提供$metadata、过滤、写操作等基础能力。 mkdirodata-democdodata-demonpminit-ynpmisimple-odata-serversimple-odata-server-nedbnedbnodeindex.jsindex.js:展开代码语言:JavaScriptAI代码解释consthttp=require('http')constDatastore=require('nedb ')constODataServer=require('simple-odata-server')constAdapter=require('simple-odata-server-nedb')constdb
如果想解决这个问题 可以在渲染进程中将拖动的最后坐标保存到storejs中 在渲染进程给主进程发送异步消息的时候将坐标携带进去 也可以使用nedb在主进程中存储坐标!
2.4 NeDB ❝ The JavaScript Database, for Node.js, nw.js, electron and the browser. https://github.com/louischatriot/nedb ❞ NeDB 是一个 JavaScript 数据库,能够运行在 Node.js、nw.js、Electron 和浏览器环境。
对于更复杂的应用场景还可以使用 lowdb[7],nedb[8] ,sqlite等。 https://github.com/sindresorhus/electron-store#readme [7] lowdb: https://github.com/typicode/lowdb [8] nedb : https://github.com/louischatriot/nedb [9] Dexie: https://github.com/dfahlander/Dexie.js [10] Dexie
数据库方面预计采用嵌入式数据库系统,Sqlite3 或者 NeDB。采用嵌入式数据库的原因主要有下几点。
关系型:MySQL,PostgreSQL,MS SQL NoSQL:MongoDB,Couchbase 云存储:Firebase,AWS,Azure Cosmos DB 轻量级:SQLite,NeDB
对于更复杂的应用场景还可以使用 lowdb[7],nedb[8] ,sqlite等。 https://github.com/sindresorhus/electron-store#readme [7] lowdb: https://github.com/typicode/lowdb [8] nedb : https://github.com/louischatriot/nedb [9] Dexie: https://github.com/dfahlander/Dexie.js [10] Dexie
我们也可以直接打包一个嵌入式数据库到应用中,比如说SQLite,nedb,这种方式比较适合大规模数据的存储以及增删改查。 代理功能的实现是在background进程中,我们基于Node.js搭建了代理服务器,并将拦截到的请求数据存储在nedb数据库中,因为请求量可能比较大,并且需要根据请求状态的变化对数据进行更新。
github 的 issues、commit、fork、starsourcegraph 关键字搜索结果数npm 包下载量、版本发布官网和博客给出四个最优选择,分别是 lowdb 、 sqlite3 、 nedb 性能三方面表现优秀, json 形式的存储结构, 支持 lodash 、 ramda 等 api 操作,利于备份和调用sqlite3: 生态、能力、性能三方面表现优秀, Nodejs 关系型数据库第一选择方案nedb
PostgreSQL, MS SQL) 非关系型数据库 (MongoDB, Counchbase) 云服务 (Firebase, AWS, Azure, DocumentDB) 轻量级(SQLite, NeDB
PostgreSQL, MS SQL) 非关系型数据库 (MongoDB, Counchbase) 云服务 (Firebase, AWS, Azure, DocumentDB) 轻量级(SQLite, NeDB
(内容由讯飞星火 AI 生成) 可能会有一些关于包版本等的提示,选择修复: npm audit fix --force 可以更新一些包,比如: 对于 nedb 库,可以将其更新到最新版本,因为新版本已经修复了 可以使用以下命令来更新:npm update nedb 对于 underscore 库,也需要更新到最新版本,因为新版本已经修复了 Arbitrary Code Execution 漏洞。
看了一下nedb,性能好像是不错,但是太久没维护了,npm提示很多安全风险……过。测试了一下sql.js,还是很容易上手的,不过做完内存中的写操作以后,要手工export到文件而不是自动维护的。