DevOps研发效能
媒体矩阵
开源中国APP
授权协议 MIT
开发语言 JavaScript
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 在寻雾中启示
适用人群 未知
收录时间 2024-09-29

软件简介

ee-jsondb是从egg-electron开源项目提取的一个小型json数据库,经过本项目重组后可以不依赖ee-core单独使用。

使用

const Storage = require('ee-jsondb');

API列表

connection(database)

  • database [String] - 数据库名

连接数据库,如果没有则创建。

json数据库

const jdb = Storage.connection('demo');

jdb.setItem()

创建一个存储的 key/value 对

jdb.setItem('test_key', {name:'xiaoming'})

jdb.getItem()

获取存储的key值

jdb.getItem('test_key')

jdb.db

实例化后的jsondb对象

# 添加对象和数据
db.defaults({posts: [], user: {}, count: 0})
  .write();
 
db.get('posts')
  .push({id: 1, title: 'jsondb is awesome'})
  .write()
 
db.set('user.name', 'typicode')
  .write()
 
db.update('count', n => n + 1)
  .write()

运行程序会在项目中添加db.json文件,里面存储了添加的数据:
{
  "posts": [
    {
      "id": 1,
      "title": "jsondb is awesome"
    }
  ],
  "user": {
    "name": "typicode"
  },
  "count": 1
}
  • 可以使用任何lodash强大的函数,比如: _.get() 和 _.find(),并且可以串联地使用:
db.get('users')
  .find({sex: 'male'})
  .value()
  • 查询

可以直接使用lodash的函数进行查询。需要注意的是有些操作可能会导致原数据被修改,为了避免这种误操作,需要使用 .cloneDeep(),操作都是惰性的,只有调用 .value()或 .write()后才会正式执行。 检查users是是否存在

db.has('users')
  .value()
  • 设置users
db.set('users', [])
  .write()
  • 排序、选择
db.get('users')
  .filter({sex: 'male'})
  .sortBy('age')
  .take(5)
  .value()
  • 获取特定字段
db.get('users')
  .map('name')
  .value()
  • 获取数量
db.get('users')
  .size()
  .value()
  • 获取特定信息
db.get('users[0].name')
  .value()
  • 更新信息
db.get('users')
  .find({name: 'Tom'})
  .assign({name: 'Tim'})
  .write()
  • 移除属性
db.unset('users.name)
  .write()
  • 深拷贝
db.get('users')
  .cloneDeep()
  .value()
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部