Node.js REST Client
This topic presents a Node.js REST client.
Also see the new JSON API for Node.js examples. Currently available as a public preview release for use in development environments, the JSON API provides new functionality including support for AI-enabled vector search with Astra DB Vector databases. For your Node.js apps, you can take advantage of a simple configuration change to integrate with the popular JavaScript Mongoose library. For more, see JSON API QuickStart with Mongoose and Developing with JSON 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>`);