lowdb json文件数据库,基于lodash方式,链式调用;

初始化 (其实也区分客户端和服务端用法)
https://github.com/typicode/lowdb/tree/master/examples

const low = requre('lowdb');
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('db.json')
const db = low(adapter)
db.defaults({ posts: [], user: {name:111}, count: 0 })
  .write()

  • 写&更新 write()
   db.get('posts').push({id:1,name:'好好学习'}).write()
   db.set('user.name', '好好学习').write()
   db.update('count', n => n+1).write();
   db.get('posts').find({id:1}).assign({name:'天天向上'})
   
  • 查询
  db.get('user.name').value();
  db.get('posts[0].name').value();
  db.get('posts').find({id:1}).value() //返回对象
  db.get('posts').filter({id:1}).value() //返回数组
  db.get('posts').map("name").value()//获取name列表
  //排序 sortBy , orderBy 
  db.get('posts').filter({name:'xxxx'}).sortBy('id').value();
  db.get('posts').filter({name:'xxxx'}).orderBy('id','desc').value()
  //数量
  db.get('posts').size().value()
  • 删除
  db.unset('user.name').write()
  db.get('posts').remove({id:1}).write()
  //DATA = {users: ["1", "2" "3"]};
  db.get('users').pull("3").write()
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐