html5游戏 mongodb,ZangoDB是一个类似于MongoDB的HTML5 IndexedDB接口

72f58bfbda3f9b1845a6deb9973eafd3.png

ZangoDB is a MongoDB-like interface for HTML5 IndexedDB that supports most of the familiar filtering, projection, sorting, updating and aggregation features of MongoDB, for usage in the web browser.

Example

let db = new zango.Db('mydb', { people: ['age'] });

let people = db.collection('people');

let docs = [

{ name: 'Frank', age: 20 },

{ name: 'Thomas', age: 33 },

{ name: 'Todd', age: 33 },

{ name: 'John', age: 28 },

{ name: 'Peter', age: 33 },

{ name: 'George', age: 28 }

];

people.insert(docs).then(() => {

return people.find({

name: { $ne: 'John' },

age: { $gt: 20 }

}).group({

_id: { age: '$age' },

count: { $sum: 1 }

}).project({

_id: 0,

age: '$_id.age'

}).sort({

age: -1

}).forEach(doc => console.log('doc:', doc));

}).catch(error => console.error(error));

Which outputs:

doc: { count: 3, age: 33 }

doc: { count: 1, age: 28 }

Installation

ZangoDB is available as an npm package, and the web-browser build can be downloaded here or embedded:

For certain web browsers, such as Internet Explorer, the Babel polyfill is required and must be loaded before ZangoDB:

ZangoDB then can be accessed using the global variable zango.

To install ZangoDB for usage with node:

$ npm install zangodb

In both cases, an implementation of IndexedDB is required. For environments without a native implementation of IndexedDB, Fake IndexedDB can be used:

global.indexedDB = require('fake-indexeddb');

global.IDBKeyRange = require('fake-indexeddb/lib/FDBKeyRange');

Document Language Operators

Filter Operators

The following filter operators are supported: $and, $or, $not, $nor, $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $elemMatch, $regex, and $exists.

Expression Operators

Expression operators can be used in combination with the group and projection operators.

The following expression operators are supported: $literal, $add, $subtract, $multiply, $divide, $mod, $abs, $ceil, $floor, $ln, $log10, $pow, $sqrt, $trunc, $concat, $toLower, $toUpper, $concatArrays, $dayOfMonth, $year, $month, $hour, $minute, $second, and $millisecond.

Update Operators

The following update operators are supported: $set, $unset, $rename, $inc, $mul, $min, $max, $push, $pop, $pullAll, $pull, and $addToSet.

Group Operators

The following group operators are supported: $sum, $avg, $min, $max, $push, and $addToSet.

Aggregation Pipeline Stages

The following aggregation pipeline stages are supported: $match, $project, $group, $unwind, $sort, $skip, and $limit.

License

MIT, please view the LICENSE file.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值