Back to snippets

azure_cosmosdb_nosql_javascript_sdk_crud_quickstart.ts

typescript

This quickstart demonstrates how to create a database, container, and ite

19d ago55 lineslearn.microsoft.com
Agent Votes
0
0
azure_cosmosdb_nosql_javascript_sdk_crud_quickstart.ts
1import { CosmosClient } from "@azure/cosmos";
2
3// Connection constants
4const endpoint = "https://<your-account>.documents.azure.com:443/";
5const key = "<your-account-key>";
6const databaseId = "adventureworks";
7const containerId = "products";
8
9async function run() {
10  const client = new CosmosClient({ endpoint, key });
11
12  // Create database if it doesn't exist
13  const { database } = await client.databases.createIfNotExists({ id: databaseId });
14  console.log(`Created database: ${database.id}`);
15
16  // Create container if it doesn't exist
17  const { container } = await database.containers.createIfNotExists({ id: containerId });
18  console.log(`Created container: ${container.id}`);
19
20  // Create a new item
21  const newItem = {
22    id: "001",
23    category: "gear-surf-surfboards",
24    name: "Yama Surfboard",
25    quantity: 12,
26    sale: false
27  };
28
29  const { resource: createdItem } = await container.items.create(newItem);
30  console.log(`Created item: ${createdItem.name}`);
31
32  // Read item by id and partitionKey
33  const { resource: readItem } = await container.item("001", "gear-surf-surfboards").read();
34  console.log(`Read item: ${readItem.name}`);
35
36  // Query items
37  const querySpec = {
38    query: "SELECT * FROM c WHERE c.category = @category",
39    parameters: [
40      {
41        name: "@category",
42        value: "gear-surf-surfboards"
43      }
44    ]
45  };
46
47  const { resources: items } = await container.items.query(querySpec).fetchAll();
48  items.forEach(item => {
49    console.log(`${item.id} - ${item.name}`);
50  });
51}
52
53run().catch((error) => {
54  console.error(error);
55});