嵌入式文档数据库 LinvoDB

MIT
JavaScript
跨平台
2015-03-08
红薯

LinvoDB 是一个 Node.js/NW.js 的嵌入式数据库引擎,类似 MongoDB 和类 Mongoose 数据库,提供类似的接口,基于 NeDB 开发。

特性:

  • 类 MongoDB 的查询引擎

  • 基于 LevelUP 的持久化,可选择不同后端

  • NW.js 友好 - JS-only backend is Medea

  • 高性能 - steady performance unaffected by DB size - queries are always indexed

  • 自动索引

  • Live queries - make the query, get constantly up-to-date results

  • Schemas - built-in schema support

  • Efficient Map / Reduce / Limit

示例代码:

var LinvoDB = require("linvodb3");
var modelName = "doc";
var schema = { }; // Non-strict always, can be left empty
var options = { };
// options.filename = "./test.db"; // Path to database - not necessary 
// options.store = { db: require("medeadown") }; // Options passed to LevelUP constructor 
var Doc = new LinvoDB(modelName, schema, options); // New model; Doc is the constructor

LinvoDB.dbPath // default path where data files are stored for each model
LinvoDB.defaults // default options for every model

插入数据:

// Construct a single document and then save it
var doc = new Doc({ a: 5, now: new Date(), test: "this is a string" });
doc.b = 13; // you can modify the doc 
doc.save(function(err) { 
    // Document is saved
    console.log(doc._id);
});

// Insert document(s)
// you can use the .insert method to insert one or more documents
Doc.insert({ a: 3 }, function (err, newDoc) {
    console.log(newDoc._id);
});
Doc.insert([{ a: 3 }, { a: 42 }], function (err, newDocs) {
    // Two documents were inserted in the database
    // newDocs is an array with these documents, augmented with their _id

    // If there's an unique constraint on 'a', this will fail, and no changes will be made to the DB
    // err is a 'uniqueViolated' error
});

// Save document(s)
// save is like an insert, except it allows saving existing document too
Doc.save([ doc, { a: 55, test: ".save is handy" } ], function(err, docs) { 
    // docs[0] is doc
    // docs[1] is newly-inserted document with a=55 and has an assigned _id

    // Doing that with .insert would throw an uniqueViolated error for _id on doc, because it assumes all documents are new
});
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

nw.js node-webkit系列(21)在应用中如何数据持久化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zeping891103/article/details/51085213 在本地应用中数据持久化是很常见的,人们常使用嵌入外部数据库或写入...

2018/11/28 20:35
3
0
OSChina 技术周刊第二十四期 —— C# 6.0 的新特性

每周技术抢先看,总有你想要的! 移动开发 【博客】Swift社交应用文本输入优化汇总 服务端开发/管理 【翻译】HTTP/1 的最佳实践并不适合 HTTP/2 【翻译】使用 AppDomain 存储实现大数据集合 ...

2015/03/09 00:24
96
1

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部