在Node.js中使用轻量级JavaScript DB
任何人都知道一个轻量级的,耐用的数据库,用Javascript写的,可以用Node.js。
我不希望像Mongo或Couch这样的(伟大的)解决scheme的“重量”。 一个简单的内存JS数据库能够以磁盘forms保存为文件就足够了。 我只会用它来存储less量的数据。
要求:
- 可以使用node.js服务器应用程序运行
- 可以将整个数据库保存到磁盘并在发生故障后恢复
- 不需要primefaces写入或交易支持
- 快速查询和sorting会很好
- 只需要支持小数据量,总共高达1MB
到目前为止,我已经遇到了TAFFY db,但是它在Node.js中似乎并没有被优化。 有人看到我在找什么吗?
谢谢
我只熟悉Mongo和Couch,但也有一个名为Persistence 。
我有和你一样的要求,但找不到合适的数据库。 nStore是有希望的,但API还不够完整,不太一致。
这就是为什么我制作了NeDB ,它是Node.js项目的一个无依赖的embedded式数据库。 你可以用一个简单的require()
来使用它,它是持久的,它的API是非常着名的MongoDB API中最常用的子集。
NeDB似乎是你在找什么。 从blurb:
embedded的Node.js持久数据库,用Javascript编写,没有依赖关系(当然npm模块除外)。 您可以将其视为Node.js项目的SQLite,可以使用简单的require语句。 API是MongoDB的一个子集。 您可以将其用作持久存储或仅存储在内存中的数据存储。
看看http://www.tingodb.com 。 我相信这是做你想要的。 另外它完全兼容MongoDB API。 这可以降低实施风险,并让您随着应用程序的增长切换到繁重的解决scheme。
Lokijs :面向node.js,浏览器和cordova的快速内存面向文档的数据存储。
- 内存中的Javascript数据存储与持久性
- 浏览器中的NoSQL数据库与同步和持续
- 一个Redis风格的商店npm安装
- Cordova的坚持NoSQL数据库
- 可embedded的NoSQL数据库,带有Persistence for node-webkit
LokiJS是理想的解决scheme:
- 移动应用程序 – 尤其是基于HTML5的(Cordova,Phonegap等)
- Node.jsembedded式数据存储为小到中等的应用程序
- 使用Node Webkitembedded到桌面应用程序中
尝试nStore,它似乎是一个很好的键/值轻量级的节点db2db。 请参阅https://github.com/creationix/nstore
我遇到了SQLite3,nStore和Alfred的麻烦。
什么适合我是节点脏 :
path = "#{__dirname}/data/messages.json" messages = db path message = 'text': 'Lorem ipsum dolor sit...' messages.on "load", -> messages.set 'my-unique-key', message, -> console.log messages.get('my-unique-key').text messages.forEach (key, value) -> console.log "Found key: #{key}, val: %j", value messages.on "drain", -> console.log "Saved to #{path}"
embedded式JavaScript进程中文件系统支持的数据库在API级别与MongoDB向上兼容。 https://github.com/sergeyksv/tingodb
LevelUP旨在以Node.js友好的方式公开LevelDB的特性。 https://github.com/rvagg/node-levelup
你也可以看看UnQLite。 用一个node.js绑定node-unqlite
我更喜欢tingodb,因为它似乎有更多的function。
也许你应该尝试使用LocallyDB这是易于使用和轻量级的,除了与JavaScript条件expression式类似的高级select系统…
我写了jaguarDb来处理一些你提到的事情,因为我有时候也需要一个“小”的数据库来演示或testing项目,我不想依赖于mongoDB或其他真实的数据库。
UeberDB提供了各种数据库的抽象