3.7 KiB
#Microsoft Azure DocumentDB Node.js Q promises wrapper
This project provides a node module that makes it easy to interact with Azure DocumentDB.
For documentation please see the Microsoft Azure Node.js Developer Center and the Microsoft Azure DocumentDB Node.js SDK Documentation.
##Installation
This is a wrapper of the Azure DocumentDB Node.js SDK using the Q promises library.
npm install documentdb-q-promises
##Usage
To use this SDK to call Azure DocumentDB, you need to first create an account.
##Hello world example code using Q promises
var DocumentClient = require('documentdb-q-promises').DocumentClientWrapper;
var host = [hostendpoint]; // Add your endpoint
var masterKey = [database account masterkey]; // Add the masterkey of the endpoint
var client = new DocumentClient(host, {masterKey: masterKey});
var databaseDefinition = { id: "sample database" }
var collectionDefinition = { id: "sample collection" };
var documentDefinition = { id: "hello world doc", content: "Hello World!" };
var database, collection, document;
client.createDatabaseAsync(databaseDefinition)
.then(function(databaseResponse) {
database = databaseResponse.resource;
return client.createCollectionAsync(database._self, collectionDefinition);
})
.then(function(collectionResponse) {
collection = collectionResponse.resource;
return client.createDocumentAsync(collection._self, documentDefinition);
})
.then(function(documentResponse) {
var document = documentResponse.resource;
console.log('Created Document with content: ', document.content);
})
.fail(function(error) {
console.log("An error occured", error);
});
###Youtube Videos
Getting started with Azure DocumentDB on Node.js:
##Need Help?
Be sure to check out the Microsoft Azure Developer Forums on MSDN or the Developer Forums on Stack Overflow if you have trouble with the provided code.
##Contribute Code or Provide Feedback
If you would like to become an active contributor to this project please follow the instructions provided in Azure Projects Contribution Guidelines.
If you encounter any bugs with the library please file an issue in the Issues section of the project.
##Learn More