Azure Cosmos DB SDK for Node.js
This documentation provides comprehensive guidance on using the Azure Cosmos DB SDK for Node.js. Learn how to interact with your NoSQL data across various Azure Cosmos DB APIs, including Core (SQL) API, MongoDB API, Cassandra API, Gremlin API, and Table API.
Getting Started
Follow these steps to set up and start using the Node.js SDK:
- Install the SDK:
- Create a Cosmos DB Account: If you don't have one, create an Azure Cosmos DB account in the Azure portal.
- Connect to your Account: Use your account's connection string to initialize the SDK client.
npm install @azure/cosmos
Core Concepts
- Client Initialization: Learn how to create an instance of the
CosmosClient. - Databases and Containers: Understand how to manage databases and containers (collections/tables).
- Items: Work with JSON documents and perform CRUD operations on items.
- Querying: Execute SQL queries to retrieve data efficiently.
- Partitioning: Understand partitioning strategies for scalability and performance.
- Change Feed: Process changes to your data in real-time.
Code Examples
Connecting to Azure Cosmos DB
// Import the CosmosClient class
const { CosmosClient } = require("@azure/cosmos");
// Replace with your actual connection string and database ID
const connectionString = "YOUR_COSMOS_DB_CONNECTION_STRING";
const databaseId = "YOUR_DATABASE_ID";
// Create a new CosmosClient instance
const client = new CosmosClient(connectionString);
async function connectToCosmosDB() {
try {
// Get a reference to the database
const { database } = await client.databases.createIfNotExists({ id: databaseId });
console.log(`Connected to database: ${database.id}`);
return database;
} catch (error) {
console.error("Error connecting to Cosmos DB:", error);
throw error;
}
}
connectToCosmosDB();
Creating a Container
// Assuming 'database' is a reference to your Cosmos DB database
const containerId = "myContainer";
const partitionKeyPath = "/id"; // Example partition key
async function createContainer(database) {
try {
const { container } = await database.containers.createIfNotExists({
id: containerId,
partitionKey: {
paths: [partitionKeyPath]
}
});
console.log(`Container '${container.id}' created or already exists.`);
return container;
} catch (error) {
console.error("Error creating container:", error);
throw error;
}
}
// Example usage:
// connectToCosmosDB().then(database => createContainer(database));
Performing CRUD Operations
Learn about creating, reading, updating, and deleting items.
View CRUD ExamplesAdvanced Topics
- High Availability and Disaster Recovery
- Performance Optimization
- Monitoring and Diagnostics
- Integration with other Azure Services