Document DB Utility
Here are some examples on how to use this Utility. Note, await is only avaliable as an experimental feature in Node. Each function returns a promise, so you can simple chain promises instead of using await.
Initialize the library
var DocumentDbUtility = ;var dbUtil = authKey:'KEY' host:'URL TO DOCDB');
Get or Create Database
await dbUtil;
Get or Create Collection
let collection = await dbUtil;
List Collections
let collections = await dbUtil;
Insert Document
await dbUtil;
Query for Documents
let spec = query: 'Select * from c where c.name = @name' parameters: name:'@name' value: 'penguin' let docs = await dbUtil;
Update Document
let doc = await dbUtil0;docprofession = "bad guy"; let docLink = dbUtil; await dbUtil;
Create & execute Stored Procedure
let proc = id:"summer" { var context = ; var response = context; let sum = a + b; response; } let procInstance = await dbUtil;let result = await dbUtil;
Create & execute Triggers
let database = await dbUtil;let collection = await dbUtil; let superTimeTrigger = id: "validateDocumentContents" { var context = ; var request = context; var documentToCreate = request; var ts = ; documentToCreate"supertime" = ts; request; } triggerType: 'Pre' triggerOperation: 'Create' let triggerInstance = await dbUtil; await dbUtil;
Create & execute User Defined Functions
var taxUdf = id: "tax" { if income == undefined throw 'no input'; if income < 1000 return income * 01; else if income < 10000 return income * 02; else return income * 04; } let udf = await dbUtil;await dbUtil; let spec2 = query: 'Select * from c WHERE udf.tax(c.income) > @taxAmount' parameters: name: '@taxAmount' value: 3000 let doc2 = await dbUtil;
Delete Document
let docLink = dbUtil; await dbUtil;
Delete Database
await dbUtil;
Delete Collection
await dbUtil;