一、monguitodb介绍
monguitodb实用程序执行CRUD操作在本地存储(localStorage),会话存储(sessionStorage),或任何对象实现由W3C定义的存储接口。
在项目开发前期,当后端服务还没有完成的情况下,通过monguitodb可以模拟后台调用查询,保存,更新,删除数据。
使用该工具的好处,在不依赖服务端的情况下,可以让系统各个业务流程都运行起来,可以快速演示系统功能。
二、monguitodb使用举例
1. monguitodb使用起来非常简单,基本没有学习成本,使用它直接引用一个js就可以了。
<script src="monguito-db.min.js " ></script>
2. 初始化一个数据库实例。
// An object to perform CRUD operations
// over the HTML5 localStorage.
var db = new MonguitoDB(localStorage , "orders");
// An object to perform CRUD operations
//over the HTML5 sessionStorage.
var db = new MonguitoDB(sessionStorage , ["orders", "users"] );
// An object to perform CRUD operations
//over collections stored in memory.
var db = new MonguitoDB( null, ["orders", "users" ]);
3. 向数据库实例中插入数据。
var db = new MonguitoDB(localStorage, "orders");
// case 1) _id will be automatically assigned as an auto-numeric value.
var order = db.orders.insert({recipient : "Juan", total: 50});
var documentId = order._id;
// case 2) _id will be automatically assigned as an UUID.
var order = db.orders.insert ({_id: "uuid", recipient: "Juan", total: 50}) ;
var documentId = order._id;
4. 更新一条记录
var db = new MonguitoDB(localStorage, "orders");
// Updates a single document (that one matching _id = 1).
db.orders.update({_id : 1}, {status: "Delivered" }) ;
// Updates several documents (those matching recipient = "Juan").
db.orders.update({recipient: "Juan "}, {status: "Delivered"}) ;
5. 删除一条记录
var db = new MonguitoDB(localStorage, "orders");
// Removes a single document (that one matching _id = 1).
db.orders.remove({_id: 1}) ;
// Removes several documents (those matching recipient = "Juan").
db.orders.remove({recipient : "Juan"}) ;
// Removes all documents in the collection.
db.orders.remove() ;
6. 查询数据
var db = new MonguitoDB(localStorage , "orders");
var orders = db.orders.find () ;
// Each element in the cursor is of type Document
orders.forEach(function ( order) {
console.log(order. pretty() ) ;
}) ;
// Applying conditions to retrieve the data.
orders = db.orders.find( {status: "Delivered"}) ;
orders = db.orders.find( {status: "Delivered", seller: "Armani " }) ;
orders = db.orders.find( function (e) { return e.total > 700; }) ;
// Sorting the data.
orders = db.orders.find( ) .sort("seller") ;
orders = db.orders.find( ) .sort("seller, total") ;
orders = db.orders.find( ) .sort("seller ASC, total DESC") ;
// Executing many actions in cascade.
var firstOrder = db.orders.find ().sort("total") .first() ;
var lastOrder = db.orders.find ().sort("total") .last() ;
// Printing the whole collection.
console.log(db.orders. find().pretty() ) ;
结束。
更多monguitodb的内容可以参见官网(英文)
https://www.npmjs.com/package/monguitodb