db query on google sheet


Keywords
db, google sheet, query
License
MIT
Install
npm install @drumtj/gdb@1.1.1

Documentation

GDB

npm version license

Library for using Google Sheets as a database

Installing

Using npm:

$ npm install @drumtj/gdb

Using cdn:

<script src="https://unpkg.com/@drumtj/wiki@1.0.5/dist/gdb.js"></script>

CommonJS

import GDB from '@drumtj/gdb';
const GDB = require('@drumtj/gdb');

Caution

Only Google Sheet with shared link is working.

How To

// var db = new GDB("[google-sheet-id]", 5); // for set start header. default 1
var db = new GDB("[google-sheet-id]");
db.query({
  ////// input sheetname or sheetid(gid)
  sheetName: "sheetname",
  //gid: 122345642, //sheetid

  ////// sql query
  // sql: "SELECT *"
  // sql : "SELECT E, F, G, L where J = 'AnimateCC' and L IS NOT NULL"
  sql : "SELECT E, F, G, J, L where (J = 'AnimateCC' or J = 'FullAni') and L IS NOT NULL"
}).then(function(data){
  console.log("data:", data);

  console.log(data.findColumnKeyByName("AnimaionType"));
  console.log(data.getColumn("AnimaionType"));
  console.log(data.getRow(0));
});

Interface

class GDB {
  interface QueryOption {
  	sheetName?: string;
  	gid? 			: string | number;
  	sql				: string;
  };

  interface GDBRowData {
    [column: string]: string|number;
  }


  constructor(sheetID:string=null, header:number=1);
  setId(sheetID:string);
  getId();
  query(option:QueryOption):Promise<GDBRowData[]>;
}  

data.findColumnKeyByName(columnName:string):string;
data.getColumn(columnName:string):any[];
data.getRow(index:number):Object;

License

MIT