What you’ll build
In this quickstart you will create an Azure Cosmos DB account, a container, and a simple Node.js application that performs CRUD operations using the SQL API.
Prerequisites
- Azure subscription (free trial works)
- Node.js v18+ installed
- Git installed
- Visual Studio Code (optional)
Step 1 – Create a Cosmos DB account
- Open the Azure portal and click Create a resource.
- Search for Azure Cosmos DB and select Azure Cosmos DB for NoSQL.
- Configure:
- Account Name:
quickstart-cosmos-db - Subscription: Your subscription
- Resource Group:
quickstart-rg(create new) - Location: Choose a region close to you
- Account Name:
- Click Review + create then Create.
Step 2 – Create a database and container
- Navigate to your newly created Cosmos DB account.
- In the left menu select Data Explorer → New Container.
- Enter:
- Database id:
QuickstartDB - Container id:
Items - Partition key:
/id
- Database id:
- Click OK.
Step 3 – Get the connection string
- In the Cosmos DB account blade, select Keys.
- Copy the PRIMARY CONNECTION STRING.
Step 4 – Build the Node.js app
Open a terminal and run:
git clone https://github.com/Azure/azure-cosmos-js-getting-started.git
cd azure-cosmos-js-getting-started
npm install
Replace the placeholder in .env with your connection string:
COSMOS_CONNECTION_STRING=YOUR_CONNECTION_STRING_HERE
Run the app:
node index.js
Sample Code (index.js)
require('dotenv').config();
const { CosmosClient } = require("@azure/cosmos");
const endpoint = process.env.COSMOS_ENDPOINT;
const key = process.env.COSMOS_KEY;
const client = new CosmosClient({ endpoint, key });
async function run() {
const database = client.database("QuickstartDB");
const container = database.container("Items");
// Create an item
const newItem = { id: "item1", name: "Sample Item", description: "First item" };
await container.items.create(newItem);
console.log("Item created");
// Read the item
const { resource } = await container.item(newItem.id).read();
console.log("Read item:", resource);
// Update the item
resource.description = "Updated description";
await container.item(resource.id).replace(resource);
console.log("Item updated");
// Delete the item
await container.item(resource.id).delete();
console.log("Item deleted");
}
run().catch(err => console.error(err));