🚨🚨🚨 This package has been renamed to @azure/cosmos and the code moved to azure-cosmos-js. 🚨🚨🚨
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:
Installation
Prerequisites
Install Node.js and npm
https://docs.npmjs.com/getting-started/installing-node
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
-
Clone Azure/azure-documentdb-node repository
Please clone the source and tests from https://github.com/Azure/azure-documentdb-node
-
Install documentdb
npm install azure-documentdb-node\source
Prerequisites
To use the SDK, first create an account and follow tutorial.
Note:
When connecting to the emulator from the SDK, SSL verification is disabled.
Follow these instructions to run the tests locally.
Traces
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
.
Tests
Prerequisites
-
Clone Azure/azure-documentdb-node repository
Please clone the source and tests from https://github.com/Azure/azure-documentdb-node
-
Install Node.js and npm
https://docs.npmjs.com/getting-started/installing-node
-
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.)
-
Remove documentdb, if previously installed
npm remove documentdb
-
Install documentdb
npm install source
-
Change to test
directory
cd source\test
-
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
Examples
Hello World using Callbacks via the Core Module
var DocumentClient = require('documentdb').DocumentClient;
var host = "[hostendpoint]";
var masterKey = "[database account masterkey]";
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:
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.