@azure/cosmos has moved to a new repo https://github.com/Azure/azure-sdk-for-js
Перейти к файлу
Nomiero 25e28f15e4 Update to version 1.0.0 that has support for offers, removal of obolete properties 2015-04-07 12:23:45 -07:00
core_sdk Update to version 1.0.0 that has support for offers, removal of obolete properties 2015-04-07 12:23:45 -07:00
q_promises_sdk Update to version 1.0.0 that has support for offers, removal of obolete properties 2015-04-07 12:23:45 -07:00
samples Move samples and tutorials to repo root 2015-03-11 13:53:50 -07:00
tutorial/todo Move samples and tutorials to repo root 2015-03-11 13:53:50 -07:00
.gitattributes adding .git* 2014-08-26 08:25:08 -07:00
.gitignore initial commit 2014-11-20 16:07:35 -08:00
Contributing.md Adding Contributing.md 2014-11-20 16:19:53 -08:00
LICENSE Update LICENSE 2014-08-25 14:52:10 -07:00
README.md Fixed the promise version of the require statement 2015-03-31 18:22:24 -05:00

README.md

#Microsoft Azure DocumentDB Node.js SDK

Join the chat at https://gitter.im/Azure/azure-documentdb-node

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 NodejsDocs.

##Installation ###Core Module

The core module uses the callbacks model for responses, exposed through the DocumentClient

npm install documentdb

###Q Promises Module

The Q promises Node.js module extends our core module to uses Q promises for all calls, exposed through the DocumentClientWrapper.

npm install documentdb-q-promises

##Usage

To use this SDK to call Azure DocumentDB, you need to first create an account.

You can follow this tutorial to help you get started.

##Examples ###Hello World using Callbacks via the Core Module

var DocumentClient = require('documentdb').DocumentClient;

var host = "[hostendpoint]";                     // Add your endpoint
var masterKey = "[database account masterkey]";  // Add the massterkey 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!" };

client.createDatabase(databaseDefinition, function(err, database) {
    if(err) return console.log(err);
    console.log('created db');

    client.createCollection(database._self, collectionDefinition, function(err, collection) {
        if(err) return console.log(err);
        console.log('created collection');

        client.createDocument(collection._self, documentDefinition, function(err, document) {
            if(err) return console.log(err);
            console.log('Created Document with content: ', document.content);

            cleanup(client, database);
        });
    });
});

function cleanup(client, database) {
    client.deleteDatabase(database._self, function(err) {
        if(err) console.log(err);
    })
}

###Hello World using Q Promises via the Q Promises Module

var DocumentClient = require('documentdb-q-promises').DocumentClientWrapper;

var host = "[hostendpoint]";                    // Add your endpoint
var masterKey = "[database account masterkey]"; // Add the massterkey 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);
        cleanup(client, database);
    })
    .fail(function(error) {
        console.log("An error occured", error);
    });

function cleanup(client, database) {
    client.deleteDatabaseAsync(database._self)
        .then(function(response) {
            console.log('clean up completed');
        })
        .fail(function(error){
            console.log(error);
        });
}

###Youtube Videos

Getting started with Azure DocumentDB on Node.js:

Azure Demo: 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.

##Community

  • DoQmentDB - A Promise-based DocumentDB client for MongoDB users
  • Docooment - A Mongoose like Azure DocuomentDB ORM

##Learn More