我正在寻找与MongoDB API兼容的数据库引擎,它不需要运行完整的 mongod 进程(节点的SQLite类型)。
从具有类似API的本地磁盘上持久存储数据的多个候选者最终得到两个:
我需要您的帮助/建议,只选择一个满足
的库现在只有 tingodb 声明API兼容性。初始化看起来非常相似。
tingodb
var Db = require('tingodb')().Db, assert = require('assert');
VS
mongodb的
var Db = require('mongodb').Db,
Server = require('mongodb').Server,
assert = require('assert');
对于 NeDB ,它看起来有点不同,因为它使用数据存储区抽象:
// Type 1: In-memory only datastore (no need to load the database)
var Datastore = require('nedb')
, db = new Datastore();
不经意地初始化不兼容。但是CRUD怎么样?采用它有多难?
由于我不想复制的大多数代码都是CRUD操作,我需要知道它们有多相似,即我的代码关于我后端的事实是多么不可知。
// If doc is a JSON object to be stored, then
db.insert(doc); // which is a NeDB method which is compatiable
// How about *WriteResult*? does not look like it..
db.insert(doc, function (err, newDoc) { // Callback is optional
// newDoc is the newly inserted document, including its _id
// newDoc has no key called notToBeSaved since its value was undefined
});
我将非常感谢您对此选择的见解!
另见:
有人使用过Tungus吗?它成熟了吗?
答案 0 :(得分:3)
NeDB CRUD操作向上兼容MongoDB,但初始化确实没有。 NeDB实现了MongoDB API的一部分,但不是全部,实现的部分向上兼容。
这绝对足以满足您的要求,并且我们在过去几个月内使其非常稳定(不再有错误报告)