在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中最常用的子集。

https://github.com/louischatriot/nedb

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或其他真实的数据库。

https://github.com/hectorcorrea/jaguarDb

UeberDB提供了各种数据库的抽象

https://www.npmjs.org/package/ueberDB