前景提要
Github
之前经常需要和运营同事打交道,将她们 Google Spreadsheet 上维护的内容映射到数据库里,如果数据变动比较频繁,这种需求又要单独做成一个运营后台,非常麻烦。与此同时,她们也会需要看到一些 sheets 上数据在生产上的反馈,比如每条内容的点击量。
但如果 Spreadsheet 自身就是一个可以增删改查的数据库,运营可以编辑她自己的内容,程序也可以反过来写入一些反馈数据到 sheets 中的其他列中去。这样完全不需要什么运营后台,对开发和运营都是个好事。所以写了这个 SheetSQL 的库,在很多数据量不大,实时性要求不那么高的场景非常适合。
Example const db = new Database({ db: '1ya2Tl2ev9M80xYwspv7FJaoWq0oVOMBk3VF0f0MXv2s', table: 'Sheet1', // optional, default = Sheet1 keyFile: './google-serviceaccount.json', cacheTimeoutMs: 5000, // optional, default = 5000 }) // load schema and data from google spreadsheet await db.load() // insert multiple documents let docs = await db.insert([ { name: 'joway', age: 18, }, ]) // find documents and update them docs = await db.update( { name: 'joway', }, { age: 100, }, ) // find documents docs = await db.find({ name: 'joway', }) // find all documents docs = await db.find({}) // find documents and remove them docs = await db.remove({ name: 'joway', })