CNode

Node 有没有类似 MongoDB 但可以存为项目下一个文件的数据库?

Jjiyinyiyong发布于13 年前最后回复13 年前23 回复7745 浏览0 收藏

看到 LevelDB 的新闻, 发现挺好玩的键值对数据库 http://dailyjs.com/2013/05/03/leveldb-and-node-2/ 我尝试了下 levelup, 感觉就跟玩 JSON 或者 localStorage 似的, 几行代码就搞定了 不过 API 相对简单, 没有索引功能, MongoDB 能轻松做的事情做不了 挺想有个工具, 可以存放在项目路径下, 也能检索, 也支持大数据量的. 不知道现成的工具有没有? 如果用 JSON 自己实现个带索引的, 性能上会不会很差呀?

查看回复

回复 (23)

D
douya0808#1·13 年前

新浪微博@题叶是楼主吗

D
douya0808#2·13 年前

新浪微博@题叶是楼主吗

D
douya0808#3·13 年前

新浪微博@题叶是楼主吗

J
jiyinyiyong#4·13 年前
引用 douya0808新浪微博@题叶是楼主吗

是的.... 我只回一次...

J
jiyinyiyong#5·13 年前
引用 leaponSQLite ?

也应该是这样的东西.. 不知道 JS 支持好不好,, 模块两年没更新 - -! https://github.com/grumdrig/node-sqlite

D
douya0808#6·13 年前
引用 douya0808新浪微博@题叶是楼主吗

@jiyinyiyong 哎呀 不知道怎么出这么多

是在新浪微群看到的

同样的头像

猿粪吶

J
jiyinyiyong#7·13 年前
引用 douya0808新浪微博@题叶是楼主吗

@douya0808 ToT 看到才是正常的,, 我到处编程相关话题上去挂头像 特别是 Node, CoffeeScript, Haskell 这些话题

Y
youxiachai#8·13 年前
引用 leaponSQLite ?

@jiyinyiyong https://github.com/developmentseed/node-sqlite3 sqlte ..应该选这个库...

J
jiyinyiyong#9·13 年前
引用 leaponSQLite ?

@youxiachai 要糟… 还是 SQL 语法,最讨厌了。用了的话 JS 操作键值对的方便就没了。

Y
youxiachai#10·13 年前
引用 leaponSQLite ?

@jiyinyiyong 话说,其实,redis 不就是很好用?

L
leapon#11·13 年前
引用 leaponSQLite ?

@youxiachai redis 不能存为项目下的一个文件。

@jiyinyiyong sqlite 很老的SQL的东西了。

Y
youxiachai#12·13 年前
引用 leaponSQLite ?

@leapon 原来是作为一个文件..............感觉真的除了sqlite 还真没有这样的东西了,java 倒是还有hsqldb,都是sql 东西...键值对的真没见过..

L
leapon#13·13 年前

nedb 这个东西不错,对小的CRUD应用足够了。

S
sumory#14·13 年前
引用 hades@jiyinyiyong 这个真不错

@jiyinyiyong nedb适用于客户端产品,或者基本没并发的场景.

Y
youxiachai#15·13 年前

redis ?

L
leapon#16·13 年前

SQLite ?

S
seasonx4#17·13 年前

SQLite客户端用滴

D
DavidXuQQ839305878#18·13 年前
引用 douya0808新浪微博@题叶是楼主吗

不用这么激动吧 ……

J
jiyinyiyong#19·13 年前

https://github.com/louischatriot/nedb 终于让我给盼到了, Up!

// In-memory only datastore
var Datastore = require('nedb')
  , db = new Datastore();

// Persistent datastore
var Datastore = require('nedb')
  , db = new Datastore({ filename: 'path/to/datafile' });

// Persistent datastore for a Node Webkit app called 'nwtest'
// For example on Linux, the datafile will be ~/.config/nwtest/nedb-data/something.db
var Datastore = require('nedb')
  , db = new Datastore({ filename: 'something.db', nodeWebkitAppName: 'nwtest' });


db.loadDatabase(function (err) {    // Callback is optional
  // err is the error, if any
});


// Of course you can create multiple datastores if you need several
// collections. For example:
db = {};
db.users = new Datastore('path/to/users.db');
db.robots = new Datastore('path/to/robots.db');

// You need to load each database (here we do it asynchronously)
db.users.loadDatabase();
db.robots.loadDatabase();
H
hades#20·13 年前

@jiyinyiyong 这个真不错

J
jiyinyiyong#21·13 年前
引用 hades@jiyinyiyong 这个真不错

刚看到边上的帖子,, 话说这东西能不能拿应用平台上去代替 MongoDB 的?

Y
youxiachai#22·13 年前
引用 hades@jiyinyiyong 这个真不错

@jiyinyiyong 不大现实吧...**NeDB is not intended to be a replacement of large-scale databases such as MongoDB! **

J
jiyinyiyong#23·13 年前
引用 hades@jiyinyiyong 这个真不错

@youxiachai 小应用小应用, 大的场景实在不指望存一个文件搞定

参与回复
登录后即可参与回复。登录