@monkdb/monkdb
Version:
๐ Official TypeScript SDK for MonkDB โ a unified, AI-native database for diverse data workloads
170 lines (110 loc) โข 6.08 kB
Markdown
# 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`:
```bash
npm install @monkdb/monkdb
```
or
```bash
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:
```ts
// 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:
```js
// 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:
```json
"type": "module"
```
## ๐ Documentation
Visit our [tech documentation](https://bitbucket.org/atomstatedev/documentation/src/main/) 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](https://bitbucket.org/atomstatedev/monkdb.ts/src/main/examples/README.md) 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](mailto:support@monkdb.com).