Node.jsで使用できる、Javascriptで記述された軽量で耐久性のあるデータベースを知っている人は誰でもいます。
私は、MongoやCouchのような(素晴らしい)ソリューションの「重み」が欲しくありません。ファイルとしてディスクに保持する機能を備えた、メモリ内のシンプルなJSデータベースで十分です。少量のデータを保存するためだけに使用します。
要件:
私はこれまでTAFFY dbに出会いましたが、実際にはNode.jsでの使用に最適化されていないようです。誰かが私が探しているものを見ましたか?
ありがとう
私はMongoとCouchにしか精通していませんが、 Persistence という名前もあります。
あなたと同じ要件がありましたが、適切なデータベースが見つかりませんでした。 nStoreは有望でしたが、APIはほぼ完全ではなく、あまり一貫性がありませんでした。
そのため、Node.jsプロジェクト用の依存関係のない組み込みデータベースである NeDB を作成しました。シンプルなrequire()
で使用でき、永続的であり、そのAPIは非常によく知られているMongoDB APIの最も一般的に使用されるサブセットです。
NeDB はあなたが探しているもののようです。宣伝文句から:
Javascriptで記述されたNode.js用の組み込み永続データベース。依存関係はありません(もちろんnpmモジュールを除く)。 Node.jsプロジェクト用のSQLiteと考えることができ、単純なrequireステートメントで使用できます。 APIはMongoDBのサブセットです。永続的またはメモリ内のみのデータストアとして使用できます。
Lokijs :node.js、ブラウザー、およびCordova用の高速なメモリー内ドキュメント指向データストア。
理想的なソリューションであるLokiJS:
http://www.tingodb.com をご覧ください。私はそれがあなたが探していることをすると信じています。さらに、MongoDB APIと完全に互換性があります。これにより、実装のリスクが軽減され、アプリの成長に合わせて重いソリューションに切り替えることができます。
NStoreを試してみてください。これは、ノード用のニースキー/値軽量の埋め込みデータベースのようです。 https://github.com/creationix/nstore を参照してください
LevelUPは、Node.jsに適した方法でLevelDBの機能を公開することを目的としています。
https://github.com/rvagg/node-levelup
UnQLiteもご覧ください。 node.jsバインディングnode-unqliteで
SQLite3、nStore、Alfredで問題が発生しました。
私のために働くのは node-dirty :
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}"
多分あなたは LocallyDB を試してみるべきです.
デモプロジェクトやテストプロジェクトにも「小さな」データベースが必要になることがあり、mongoDBや別の実際のデータベースに依存したくないため、jaguarDbを作成して、あなたが言及していることを処理します。