我的Electron离线应用程序应该使用哪种数据库?

10

我即将为我的离线 ElectronJS 应用程序选择一个合适的本地数据库。桌面应用程序必须从本地 JSON 文件中添加/更新/删除/检索数据。数据库结构如下:

{
  'data':[
    {
      'day':1344546000,
      'transactions':[
         {'time':'blabla', 'value1':'100',...},
         {'time':'blabla', 'value1':'100',...},
         {'time':'blabla', 'value1':'100',...},
      ]
    },
    {
      'day':1344546000,
      'transactions':[
         {'time':'blabla', 'value1':'100',...},
         {'time':'blabla', 'value1':'100',...},
         {'time':'blabla', 'value1':'100',...},
      ]
    },
    ....

  ]
}

这些数据必须存储在本地的json文件中,这样如果用户关闭应用程序并再次打开它,则应该检索到数据。

每个day对象每天将少于500个交易。


您可以使用浏览器或Node支持的任何存储机制 - 考虑使用localStorage,或者通过fs保存文件来自己实现。是否对实现有任何特定问题或关注点? - Aurora0001
我可以使用Node.JS、Express.JS,前端将使用参数进行http调用以获取/删除/更新/获取数据。但是对于我的目的,这是否是正确的解决方案(编码时间等),因为这种方式有点客户端/服务器端,如果应用程序完全脱机并在本地存储交易,为什么还需要服务器端呢? - Georgi Antonov
1个回答

9
我会选择 PouchDB:https://github.com/pouchdb/pouchdb

PouchDB 的创建是为了帮助 Web 开发者构建离线使用效果和在线使用一样好的应用程序。

NeDB 也非常有前途:https://github.com/louischatriot/nedb

NeDB 是 Node.js、nw.js、Electron 和浏览器的嵌入式持久性或内存数据库,100% JavaScript,无需二进制依赖。API 是 MongoDB 的子集,而且速度相当快。


NeDB在一段时间内缺乏提交,进展不大,是否有其他推荐? - Vass

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接