Package Exports
- @rushdb/javascript-sdk
- @rushdb/javascript-sdk/dist/index.cjs
- @rushdb/javascript-sdk/dist/index.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rushdb/javascript-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Highlights
✨ No Configuration Needed: Plug-and-play design requires no setup or configuration.
🤖 Automatic Type Inference: Enjoy seamless type safety with automatic TypeScript inference.
↔️ Isomorphic Architecture: Fully compatible with both server and browser environments.
🏋️ Zero Dependencies: Lightweight and efficient with no external dependencies.
Installation
NPM:
npm install @rushdb/javascript-sdkYARN:
yarn add @rushdb/javascript-sdkPNPM:
pnmp add @rushdb/javascript-sdkUsage
- Obtain API Token: Grab one from the Dashboard.
- Build anything: Easily push, search, and manage relationships within your data.
TLDR;
import RushDB, { Model } from '@rushdb/javascript-sdk'
// Setup SDK
const db = new RushDB("API_TOKEN", {
// This is the default URL; no need to provide it unless overriding.
url: "https://api.rushdb.com",
});
// Push any data, and RushDB will automatically flatten it into Records
// and establish relationships between them accordingly.
await db.records.createMany("COMPANY", {
name: 'Google LLC',
address: '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA',
foundedAt: '1998-09-04T00:00:00.000Z',
rating: 4.9,
DEPARTMENT: [{
name: 'Research & Development',
description:
'Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.',
PROJECT: [{
name: 'Bard AI',
description:
'A state-of-the-art generative AI model designed for natural language understanding and creation.',
active: true,
budget: 1200000000,
EMPLOYEE: [{
name: 'Jeff Dean',
position: 'Head of AI Research',
email: 'jeff@google.com',
dob: '1968-07-16T00:00:00.000Z',
salary: 3000000
}]
}]
}]
})
// Find Records by specific criteria
const matchedEmployees = await db.records.find({
labels: ['EMPLOYEE'],
where: {
position: { $contains: 'AI' },
PROJECT: {
DEPARTMENT: {
COMPANY: {
rating: { $gte: 4 }
}
}
}
}
})
const company = await db.records.findUniq('COMPANY', {
where: {
name: 'Google LLC'
}
})
// Manage relationships
await company.attach(matchedEmployees, { type: "WORKING_AT" })Check the Docs and Examples Repository to learn more 🤓
Contributing
See CONTRIBUTING.md.