For PicGo projects to write & read data or configuration in disk.
import{DBStore}from'@picgo/store'constdb=newDBStore('path/to/your/xxx.db','collectionName')constmain=async()=>{constresult=awaitdb.insert({imgUrl: 'xxxx.jpg',})console.log(result)//{// id: 'xxxxx',// imgUrl: 'xxx.jpg',// createdAt: 123123123123,// updatedAt: 123123123123// }}For now, @picgo/store has two export member: DBStore & JSONStore.
new DBStore(dbPath: string, collectionName: string)
constdb=newDBStore('picgo.db','uploadImgs')- return:
Promise<IGetResult<IObject>[]> - interface: IGetResult
To get the whole collection value.
async()=>{constcollection=awaitdb.get()console.log(collection)//{total: x, data: [{...},{...}, ...] }}To get filtered collection: (just like SQL orderBy, limit & offset)
async()=>{constcollection=awaitdb.get({orderBy: 'desc',// ['desc' | 'asc'] -> order with created-timelimit: 1,// limit >= 1offset: 0,// offset >= 0})console.log(collection)//{total: 1, data: [{...}] }}- return:
Promise<IResult<T>> - interface: IResult
To insert an item to collection.
async()=>{constresult=awaitdb.insert({imgUrl: 'https://xxxx.jpg'})console.log(result)//{// id: string,// imgUrl: string,// createdAt: number,// updatedAt: number // }}- return:
Promise<IResult<T>[]> - interface: IResult
To insert multiple items to collection at once .
async()=>{constresult=awaitdb.insertMany([{imgUrl: 'https://xxxx.jpg'},{imgUrl: 'https://yyyy.jpg'}])console.log(result)// [{// id: string,// imgUrl: string,// createdAt: number,// updatedAt: number // },{// id: string,// imgUrl: string,// createdAt: number,// updatedAt: number // }]}- return:
Promise<boolean> - interface: IObject
To update an item by id. It will return false if the id does not exist.
async()=>{constresult=awaitdb.updateById('test-id',{test: 123})console.log(result)// true}- return:
Promise<IObject | undefined> - interface: IObject
To get an item by id.
async()=>{constresult=awaitdb.getById('xxx')console.log(result)// undefined}- return:
Promise<void>
To remove an item by id.
async()=>{constresult=awaitdb.removeById('xxx')console.log(result)// undefined}- return:
Promise<IResult<T>[]> - interface: IResult
To overwrite whole collection:
async()=>{constresult=awaitdb.overwrite([{imgUrl: 'https://xxxx.jpg'},{imgUrl: 'https://yyyy.jpg'}])console.log(result)// [{// id: string,// imgUrl: string,// createdAt: number,// updatedAt: number // },{// id: string,// imgUrl: string,// createdAt: number,// updatedAt: number // }]}- return:
Promise<{total: number, success: number }> - interface: IObject
To update many items by id:
async()=>{constresult=awaitdb.updateMany([{id: 'xxx',// need to have idimgUrl: 'https://xxxx.jpg'},{id: 'yyy',imgUrl: 'https://yyyy.jpg'},{imgUrl: 'https://zzzz.jpg'}])console.log(result)//{total: 3, success: 2 }}Copyright (c) 2020 Molunerfinn