工具 | monguitodb 在项目开发中的应用

422 阅读3分钟

一、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