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()