Deprecated
NOTE: ScriptDB is now deprecated. Please take a look at Database abstraction with google apps script for alternatives. 

We have CRUD natively to scriptDB from Google Apps Script, A VBA API for scriptDB gave us one for Excel – now here’s one for JavaScript. That means you can use the same noSQL database for all 3 platforms. This javaScript API uses the same scriptDB handlers that were used in A VBA API for scriptDB, so you can use the same databases too.

Here’s a slideshare primer

Compromises

Before I start, I have to mention a couple of compromises for this initial version.
  • oAuth2 is not implemented (it is in VBA). This is because Google Apps Script (which handles the scriptDB requests) cannot handle cross domain requests unless the webapp is public facing. See this blogpost for more detail. This is a problem for now, but I will update when I find a workaround.
  • I have only tested on FireFox and Chrome. It may not work on various IE. Maybe I’ll get round to dealing with that at some point.
  • Big volumes will probably hit Google Apps Script quota issues, although I do use batching, skipping and limits to try to contain this.
  • I’m using jQuery, and everything is orchestrated with jQuery promises.

Asynchronicity

Implementing this is javaScript has been much more complicated than in VBA, mainly because everything is being done asynchronously using aJax. Combining batching with asynchronicty has been tricky.  I’m using promises to bring it under some semblance of control.
Some more detail on this topic

For help and more information join our forum, follow the blog or follow me on Twitter