Node.js REST Client
This topic presents a Node.js REST client.
As an alternative to the example in this topic, we encourage you to use the Data API, which is the foundational vector API for Astra DB Serverless databases. For details, see: The revised documentation also provides client apps that are custom abstractions based on the Data API: |
const { createClient } = require("@astrajs/rest"); // create an Astra client const astraClient = await createClient({ astraDatabaseId: process.env.ASTRA_DB_ID, astraDatabaseRegion: process.env.ASTRA_DB_REGION, username: process.env.ASTRA_DB_USERNAME, password: process.env.ASTRA_DB_PASSWORD, applicationToken: process.env.ASTRA_DB_APPLICATION_TOKEN }); const basePath = "/api/rest/v2/KEYSPACES/<namespace>/collections/<collectionName>"; // get a single user by document id const { data, status } = await astraClient.get(`${basePath}/<documentId>`); // get a subdocument by path const { data, status } = await astraClient.get(`${basePath}/<documentId>/<subdocument>/<subdocument>`); // search a collection of documents const { data, status } = await astraClient.get(${basePath}, { params: { where: { name: { $eq: "<documentId>" } } } }); // create a new user without a document id ---- const { data, status } = await astraClient.post(${basePath}, { name: "<documentId>", }); ---- // create a new user with a document id const { data, status } = await astraClient.put(`${basePath}/<documentId>`, { name: "cliff", }); // create a user subdocument const { data, status } = await astraClient.put(`${basePath}/<documentId>/<subdocument>`, { title: "new blog", }); // partially update user const { data, status } = await astraClient.patch(`${basePath}/<documentId>`, { name: "cliff", }); // delete a user const { data, status } = await astraClient.delete(`${basePath}/<documentId>`);