Skip to content
DEPRECATED: Use @azure/cosmos on npm instead
Branch: master
Clone or download
Latest commit 9681959 Sep 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode 1.15.1 release Jan 15, 2019
samples Release 1.14.5 (#246) Jul 10, 2018
source 1.15.3 Mar 4, 2019
.editorConfig Added an editorConfig Jan 18, 2017
.gitattributes adding .git* Aug 26, 2014
.gitignore 1.15.1 release Jan 15, 2019 Node.js SDK Release 1.7.0 Apr 26, 2016
LICENSE updated license Apr 15, 2015 Update Sep 19, 2019 1.15.3 Mar 4, 2019

🚨🚨🚨 This package has been deprecated. Please upgrade to ( and report any issues in the Azure JS SDK repo. 🚨🚨🚨

Microsoft Azure Cosmos DB Node.js SDK v1

This project provides Node.js SDK library for SQL API of Azure Cosmos DB Database Service. This project also includes samples, tools, and utilities.

Useful links:



Install Node.js and npm

Node SDK can be consumed in two ways.

Install Core Module Published to NPM

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

npm install documentdb

Install Core Module From Github

  1. Clone Azure/azure-documentdb-node repository Please clone the source and tests from

  2. Install documentdb

     npm install azure-documentdb-node\source


To use the SDK, first create an account and follow tutorial.


When connecting to the emulator from the SDK, SSL verification is disabled.

Follow these instructions to run the tests locally.


The documentdb module support tracing via the debug module. Traces will go to stderr by default. To enable tracing, you can set the DEBUG environment variable in a variety of ways.

  • documentdb:* will output all logs. This can be verbose, so it's helpful to filter on log level.
  • documentdb:<log level>:* will output all traces for a given <log level> value. The valid levels are error, warn, info, and debug.
  • documentdb:<log level>:<component> will output all traces for a given <log level> and <component>. The valid components are request and query.

You can combine filters via ,. So if you wanted to have error info for all components, but only debug info for query, then you'd use documentdb:error:*,documentdb:debug:query.



  1. Clone Azure/azure-documentdb-node repository Please clone the source and tests from

  2. Install Node.js and npm

  3. Install mocha package globally

     npm install -g mocha

Running the tests

Using your command-line tool, from the root of your local copy of azure-documentdb-node repository: (If you are contributing changes and submitting PR then you need to ensure that you run the tests against your local copy of the source, and not the published npm package.)

  1. Remove documentdb, if previously installed

     npm remove documentdb
  2. Install documentdb

     npm install source
  3. Change to test directory

     cd source\test
  4. Run the tests

     mocha -t 0 -R spec

If you just want to run the tests against the published npm package then skip steps #1 & #2 proceed directly to step #3


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 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!" };

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);

Youtube Videos

Getting started with Node.js SDK:

Azure Demo: Getting started with Document Node.js SDK

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.

You can’t perform that action at this time.