diff --git a/README.md b/README.md index 103b5ea9..7f2afbb7 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,9 @@ That's it, you are ready to use Ottoman. Supported version are: -| Ottoman | Nodejs | Couchbase SDK | Couchbase Server | -|---------|--------|---------------|------------------| -| ^2.0.0 | ^8.0.0 | ^4.2.0 | ^6.5.0 | +| Ottoman | Nodejs | Couchbase SDK | Couchbase Server | +|---------|---------|---------------|------------------| +| ^2.0.0 | ^12.0.0 | ^4.2.0 | ^7.2.0 | ***Notice: make sure you are using supported versions*** @@ -66,7 +66,7 @@ If you are using the legacy version of Ottoman, check out the [V1 docs](https:// ## Ottoman v2 main goals -- To add support to Couchbase SDK 3. +- To add support to Couchbase SDK 3.x and above - To add typescript support. - To have a powerful query builder built-in. - To allow adding indexes to improve queries performance. diff --git a/docusaurus/docs/advanced/sdk-comparison.md b/docusaurus/docs/advanced/sdk-comparison.md index a8723cd8..a00db361 100644 --- a/docusaurus/docs/advanced/sdk-comparison.md +++ b/docusaurus/docs/advanced/sdk-comparison.md @@ -27,30 +27,30 @@ Leave the burden of scanning and patching the software for security vulnerabilit Affordability, Adaptability, Supportability and Sustainability are available by default across all features in Ottoman. -| Feature | Ottoman | NodeJS SDK | Benefits | Description | -| ---------- | :---------: | :---------: | ----------- | ----------- | -| Schema, Constraints and Models | ✅ | 🚫 | Data Quality | Enables end users to control document shape. | -| Validators and Custom Data-Type | ✅ | 🚫 | Data Quality | Ensures data accuracy. | -| Reference Types and Populate | ✅ | 🚫 | Data Quality | Provides means to automagically refer and populate referenced documents. | -| Scopes and collections | ✅ | ✅ | Data Quality | Organize data enabling multi-tenancy and microservices. | -| Certificate Authentication | ✅ | ✅| Data Quality | Sets up a secure channel between the application and the Couchbase server. | -| Document Expiry (TTL) | ✅ | ✅ | Data Quality | Ensures documents get removed from a collection post expiry set. | -| Model Methods
`find()`
`findOne()`
`findOneAndRemove()`| ✅ | 🚫 | Agility | Provides methods to easily access documents. | -| Bootstrapping | ✅ | 🚫 | Agility | Establishes the connection, issues command to create scopes, collection and build indexes. | -| Audit Fields (Timestamp) | ✅ | 🚫 | Agility | Auto enables auditing of fields. | -| Refdoc Index | ✅ | 🚫 | Data Quality | Empowers co-existence of non-key unique values. | -| Typescript, Javascript, Generics support | ✅ | ✅ | Adaptability, Affordability | Written and supported in Javascript and Typescript. | -| Hooks | ✅ | 🚫 | Agility, Data Quality | Asynchronous middleware components that perform actions before and after a document is mutated. | -| Plugins | ✅ | 🚫 | Agility | Reusable components that can be exported and used across multiple schemas. | -| Immutable | ✅ | 🚫 | Agility, Data Quality | Ensures certain data fields remains unchanged. | -| Lean | ✅ | N/A | Agility, Affordability | Save on resources when data Quality is not a concern. | -| Management API | ✅
(Basic) | ✅ | Agility | Improve tests provide basic functions to drop buckets,scopes and collections. | -| Query Builder | ✅ | 🚫 | Agility | Build, test and execute N1QL queries via Javascript and Typescript. | -| Bulk Operations | ✅ | 🚫 | Agility | Provides means to mutate multiple documents in a single operation. | -| Query | ✅ | ✅ | Agility, Data Quality | Enables document to be accessed via Couchbase N1QL Query. | -| Search | 🚫 | ✅ | N/A | Currently Search is available only via [N1QL Integration](https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/searchfun.html). | -| Analytics | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | -| Field Level Encryption | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | -| Subdocument Operations | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | -| MapReduce Views | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | -| Transactions | 🚫 | 🚫 | N/A | Currently not available in Ottoman 2.0. | \ No newline at end of file +| Feature | Ottoman | NodeJS SDK | Benefits | Description | +| ---------- | :---------: | :---------: |----------------------------|-------------------------------------------------------------------------------------------------| +| Schema, Constraints and Models | ✅ | 🚫 | Data Quality | Enables end users to control document shape. | +| Validators and Custom Data-Type | ✅ | 🚫 | Data Quality | Ensures data accuracy. | +| Reference Types and Populate | ✅ | 🚫 | Data Quality | Provides means to automagically refer and populate referenced documents. | +| Scopes and collections | ✅ | ✅ | Data Quality | Organize data enabling multi-tenancy and microservices. | +| Certificate Authentication | ✅ | ✅| Data Quality | Sets up a secure channel between the application and the Couchbase server. | +| Document Expiry (TTL) | ✅ | ✅ | Data Quality | Ensures documents get removed from a collection post expiry set. | +| Model Methods
`find()`
`findOne()`
`findOneAndRemove()`| ✅ | 🚫 | Agility | Provides methods to easily access documents. | +| Bootstrapping | ✅ | 🚫 | Agility | Establishes the connection, issues command to create scopes, collection and build indexes. | +| Audit Fields (Timestamp) | ✅ | 🚫 | Agility | Auto enables auditing of fields. | +| Refdoc Index | ✅ | 🚫 | Data Quality | Empowers co-existence of non-key unique values. | +| Typescript, Javascript, Generics support | ✅ | ✅ | Adaptability, Affordability | Written and supported in Javascript and Typescript. | +| Hooks | ✅ | 🚫 | Agility, Data Quality | Asynchronous middleware components that perform actions before and after a document is mutated. | +| Plugins | ✅ | 🚫 | Agility | Reusable components that can be exported and used across multiple schemas. | +| Immutable | ✅ | 🚫 | Agility, Data Quality | Ensures certain data fields remains unchanged. | +| Lean | ✅ | N/A | Agility, Affordability | Save on resources when data Quality is not a concern. | +| Management API | ✅
(Basic) | ✅ | Agility | Improve tests provide basic functions to drop buckets,scopes and collections. | +| Query Builder | ✅ | 🚫 | Agility | Build, test and execute N1QL queries via Javascript and Typescript. | +| Bulk Operations | ✅ | 🚫 | Agility | Provides means to mutate multiple documents in a single operation. | +| Query | ✅ | ✅ | Agility, Data Quality | Enables document to be accessed via Couchbase N1QL Query. | +| Search | ✅ | ✅ | Agility | Allow full-text-search | +| Analytics | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | +| Field Level Encryption | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | +| Subdocument Operations | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | +| MapReduce Views | 🚫 | ✅ | N/A | Currently not available in Ottoman 2.0. | +| Transactions | ✅ | ✅ | ACID | perform multi-document ACID (atomic, consistent, isolated, and durable) database transactions | \ No newline at end of file diff --git a/docusaurus/docs/quick-start.md b/docusaurus/docs/quick-start.md index d6f2fea4..7f879290 100644 --- a/docusaurus/docs/quick-start.md +++ b/docusaurus/docs/quick-start.md @@ -12,7 +12,7 @@ title: Quickstart ## Prerequisites: Three Steps required to Query our Bucket -1. Setup Couchbase Server 6.5 and ensure it is running. +1. Setup Couchbase Server 7.2 and ensure it is running. 2. Create an empty bucket named "default". 3. Add a primary and adaptive index for our default bucket. @@ -28,9 +28,9 @@ to autogenerate your project. The [CLI](/docs/cli) will setup and spin up a proj ## Create the Ottoman NodeJS Project In this exercise, we will be working with the [Ottoman v2 ODM (Object Document Mapper)](https://github.com/couchbaselabs/node-ottoman) -in conjunction with the [NodeJS SDK v3](https://docs.couchbase.com/nodejs-sdk/current/hello-world/start-using-sdk.html) +in conjunction with the [NodeJS SDK v3 and above](https://docs.couchbase.com/nodejs-sdk/current/hello-world/start-using-sdk.html) -This tutorial was written using Node JS version 12.14, NPM version 6.13, and the Couchbase SDK 3.0, but higher version numbers should do. +This tutorial was written using Node JS version 12.14, NPM version 6.13, and the Couchbase SDK 4, but higher version numbers should do. You can check your version numbers by running the following commands: