Package Exports
- @monkdb/monkdb
Readme
Official MonkDB TS/JS SDK
Welcome to the official TypeScript SDK for MonkDB, an AI-native database designed to handle diverse data workloads seamlessly. This SDK empowers developers to interact with MonkDB using TypeScript, leveraging its robust features for modern application development.โ
Note:
The @monkdb/monkdb TS/JS SDK, which is authored using modern ESM (ECMAScript Modules), fully supports both JavaScript and TypeScript environments, provided the runtime supports ESM.
โ
@monkdb/monkdb SDK Compatibility and Usage Guide
๐ง Module System:
The SDK is authored and published as an ES Module (ESM).
- โ Works seamlessly in TypeScript projects.
- โ Fully usable in JavaScript (ESM) projects.
- โ ๏ธ Not directly compatible with legacy CommonJS (require()) environments unless transpiled or imported via dynamic import (await import()).
๐ฆ Package Details:
- Package: @monkdb/monkdb
- Version: 0.1.6 (latest as of now)
- Module Type: ESM
- Types: Bundled TypeScript type declarations (.d.ts)
๐ป Node.js Version Support
To use the SDK without any issues, make sure you're using a Node.js version that natively supports ESM and modern TypeScript features.
| Node.js Version | ESM Support | @monkdb/monkdb SDK Compatibility |
|---|---|---|
| >=14.13.0 | โ Experimental ESM support with flags or .mjs | โ ๏ธ Works with caveats (not recommended) |
| >=16.0.0 | โ Stable ESM support | โ Fully compatible |
| >=18.0.0 | โ Stable + LTS | โ Recommended |
| >=20.0.0 | โ LTS + Modern runtime features | โ Fully supported |
| >=21.x.x | โ Latest features, top-tier performance | โ Fully supported |
| <=14.x | โ ESM not fully supported | โ Not compatible |
- โ Recommended Node.js version: 18.x or newer
- โ ๏ธ Minimum working version: 14.13.0 (with "type": "module" and/or .mjs extensions)
- โ Not supported: Node <=14.x, legacy CommonJS-only environments
๐ Features
๐ Time Series Data: Efficiently store and analyze time-series data, enabling applications to process and query time-stamped information with ease.โ
๐ง Vector Data Integration: Manage and query vector data, facilitating operations like similarity searches and machine learning model integrations.โ
๐ Full-Text Search: Perform comprehensive text searches across your datasets, enhancing the retrieval of relevant information through advanced indexing and querying capabilities.โ
๐ Geospatial Queries: Execute complex geospatial queries to handle location-based data, supporting applications that require spatial analysis and mapping functionalities.โ
๐ฆ Blob Storage: Store and retrieve binary large objects (BLOBs), allowing for the management of multimedia files, documents, and other large data types within the database.โ
๐ Document Store with SQL Interface: Combine the flexibility of a document store with the power of SQL, providing a PGWire-compatible SQL interface for structured querying of unstructured data.
๐ Streaming SQL- Run realtime/streaming data workloads to perform petabyte scale SQL analytics (realtime).
๐ฆ Installation
To install the MonkDB's TypeScript SDK, use npm or yarn:
npm install @monkdb/monkdbor
yarn add @monkdb/monkdb๐งช Usage
Typescript Usage Example
Here's a basic example of how to establish a connection to MonkDB and execute queries using the SDK:
// index.ts
import { MonkConnection } from '@monkdb/monkdb';
const connection = new MonkConnection({
servers: ['http://127.0.0.1:4200'],
username: 'your_username',
password: 'your_password',
});
const cursor = connection.cursor();
async function runQuery() {
await cursor.execute('SELECT * FROM your_table');
const results = cursor.fetchall();
console.log(results);
}
runQuery().catch(console.error).finally(() => {
cursor.close();
connection.close();
});No special setup is needed beyond tsconfig.json with "module": "ES2020" or higher.
JavaScript Usage Example
Here's a basic example of how to establish a connection to MonkDB and execute queries using the SDK:
// index.js
import { MonkConnection } from '@monkdb/monkdb';
const conn = new MonkConnection({
servers: ['http://localhost:4200'],
username: 'monk',
password: 'monk',
schema: 'doc',
});
const cursor = conn.cursor();
await cursor.execute('SELECT * FROM my_table');
const rows = cursor.fetchall();
console.log(rows);
cursor.close();
conn.close();Ensure your package.json contains:
"type": "module"๐ Documentation
Visit our tech documentation on how to execute use cases on MonkDB.
Examples
To get a feel of MonkDB using TS/JS, please follow the instructions available in this README file.
๐ License
This project is licensed under the Apache-2.0 License.
๐ค Support
For enterprise support or any inquiries, please contact us at ๐ง support@monkdb.com.