Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"yaml.schemas": {
"./schema/navigation.schema.json": [
"*/navigation.{yml,yaml}"
]
},
"[yaml]": {
"editor.tabSize": 2,
"editor.insertSpaces": true
}
}
8 changes: 6 additions & 2 deletions architecture/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
DocumentDB Architecture
---
title: Architecture under the hood
description: Deep dive into DocumentDB's internal architecture, data structures, query processing, storage engine design, and distributed systems.
layout: coming-soon
---

This section provides detailed information about DocumentDB's architecture and design principles.
We're building something amazing! The technical architecture documentation providing detailed information about DocumentDB's architecture and design principles is coming soon.
2 changes: 2 additions & 0 deletions architecture/navigation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- title: Architecture under the hood
link: index.md
15 changes: 0 additions & 15 deletions architecture/toc.yml

This file was deleted.

11 changes: 8 additions & 3 deletions documentdb-local/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# DocumentDB-local
DocumentDB Local provides a lightweight, containerized environment for developing and testing applications locally, including prototyping and integration testing.
---
title: DocumentDB Local
description: Learn how to install and run DocumentDB Local using Docker for local development and testing. Includes setup instructions, configuration options, and certificate management.
---

# DocumentDB Local

DocumentDB Local provides a lightweight, containerized environment for developing and testing applications locally, including prototyping and integration testing.

## Prerequisites

Expand Down Expand Up @@ -110,4 +115,4 @@ For mongosh info see: https://www.mongodb.com/docs/mongodb-shell/

## Reporting issues

If you encounter issues with using this version of DoucmenttDB, open an issue in the GitHub repository (<https://github.com/documentdb/documentdb/issues>) and tag it with the label `documentdb-local`.
If you encounter issues with using this version of DoucmenttDB, open an issue in the GitHub repository (<https://github.com/documentdb/documentdb/issues>) and tag it with the label `documentdb-local`.
2 changes: 2 additions & 0 deletions documentdb-local/navigation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- title: DocumentDB Local
link: index.md
7 changes: 6 additions & 1 deletion getting-started/aws-setup.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
---
title: AWS Setup
description: Deploy and manage DocumentDB alongside AWS for a hybrid database strategy.
---

# Multi-cloud with AWS DocumentDB

Deploy and manage DocumentDB alongside AWS for a hybrid database strategy.

## Important Note

This guide covers deploying the open-source DocumentDB on AWS infrastructure. This is distinct from Amazon's DocumentDB service, which is a different product. While both support MongoDB compatibility, they are separate implementations with different features and capabilities.
This guide covers deploying the open-source DocumentDB on AWS infrastructure. This is distinct from Amazon's DocumentDB service, which is a different product. While both support MongoDB compatibility, they are separate implementations with different features and capabilities.
7 changes: 6 additions & 1 deletion getting-started/azure-setup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Azure Setup
description: Deploy and manage DocumentDB on Micrtosoft Azure for a fully managed experience.
---

# Multi-cloud with Azure

Deploy and manage DocumentDB on Micrtosoft Azure for a fully managed experience.
Expand All @@ -14,4 +19,4 @@ Deploy and manage DocumentDB on Micrtosoft Azure for a fully managed experience.
- Custom deployment options
- Manual management required

## Setup
## Setup
5 changes: 5 additions & 0 deletions getting-started/gcp-setup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: GCP Setup
description: Deploy and manage DocumentDB on Google Cloud Platform using various deployment options.
---

# Multi-cloud with GCP

Deploy and manage DocumentDB on Google Cloud Platform using various deployment options.
5 changes: 5 additions & 0 deletions getting-started/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Getting Started
description: DocumentDB is an open-source document database platform built on PostgreSQL. It offers developers a fully permissive, open-source platform for document data stores.
---

# Introduction to DocumentDB

DocumentDB is an open-source document database platform built on PostgreSQL. It offers developers a fully permissive, open-source platform for document data stores.
Expand Down
5 changes: 5 additions & 0 deletions getting-started/mongo-shell-quickstart.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: MongoDB Shell Quick Start
description: Learn how to set up and use DocumentDB with Node.js using the official MongoDB Node.js driver.
---

# Node.js Setup Guide

Learn how to set up and use DocumentDB with Node.js using the official MongoDB Node.js driver.
Expand Down
7 changes: 6 additions & 1 deletion getting-started/mongodb-migration.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
---
title: MongoDB Migration Guide
description: This guide helps you migrate your existing MongoDB applications to DocumentDB while maintaining compatibility and leveraging PostgreSQL benefits.
---

# MongoDB to DocumentDB Migration Guide

This guide helps you migrate your existing MongoDB applications to DocumentDB while maintaining compatibility and leveraging PostgreSQL benefits.

## Overview

DocumentDB provides full MongoDB wire protocol compatibility, making migration straightforward for most applications. This guide covers the migration process, considerations, and best practices for transitioning from MongoDB to DocumentDB.
DocumentDB provides full MongoDB wire protocol compatibility, making migration straightforward for most applications. This guide covers the migration process, considerations, and best practices for transitioning from MongoDB to DocumentDB.
22 changes: 22 additions & 0 deletions getting-started/navigation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
- title: Getting Started
link: index.md
- title: Visual Studio Code Quick Start
link: vscode-quickstart.md
- title: Visual Studio Code Extension Guide
link: vscode-extension-guide.md
- title: Node.js Setup Guide
link: nodejs-setup.md
- title: Python Setup Guide
link: python-setup.md
- title: Pre-built Packages
link: prebuilt-packages.md
- title: AWS Setup
link: aws-setup.md
- title: Azure Setup
link: azure-setup.md
- title: GCP Setup
link: gcp-setup.md
- title: YugabyteDB Setup
link: yugabyte-setup.md
- title: MongoDB Migration Guide
link: mongodb-migration.md
5 changes: 5 additions & 0 deletions getting-started/nodejs-setup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Node.js Setup Guide
description: Learn how to set up and use DocumentDB with Node.js using the official MongoDB Node.js driver.
---

# Node.js Setup Guide

Learn how to set up and use DocumentDB with Node.js using the official MongoDB Node.js driver.
Expand Down
7 changes: 6 additions & 1 deletion getting-started/prebuilt-packages.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Pre-built Packages
description: Download and install DocumentDB using our pre-built packages for various platforms.
---

# Pre-built Packages

Download and install DocumentDB using our pre-built packages for various platforms.
Expand Down Expand Up @@ -47,4 +52,4 @@ Download and install DocumentDB using our pre-built packages for various platfor

# Run development version
docker pull ghcr.io/microsoft/documentdb/documentdb-local:1.1.0-beta.3
```
```
5 changes: 5 additions & 0 deletions getting-started/python-setup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Python Setup Guide
description: Learn how to set up and use DocumentDB with Python using the official MongoDB Python driver (PyMongo).
---

# Python Setup Guide

Learn how to set up and use DocumentDB with Python using the official MongoDB Python driver (PyMongo).
Expand Down
5 changes: 5 additions & 0 deletions getting-started/vscode-extension-guide.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Visual Studio Code Extension Guide
description: The DocumentDB for VS Code extension is a powerful, open-source GUI that helps you browse, manage, and query DocumentDB and MongoDB databases across any cloud, hybrid, or local environment.
---

# DocumentDB for VS Code Extension

The [DocumentDB for VS Code extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) is a powerful, open-source GUI that helps you browse, manage, and query DocumentDB and MongoDB databases across any cloud, hybrid, or local environment.
Expand Down
7 changes: 6 additions & 1 deletion getting-started/vscode-quickstart.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: Visual Studio Code Quick Start
description: Get started with DocumentDB using the Visual Studio Code extension for a seamless development experience.
---

# VS Code Extension Quick Start

Get started with DocumentDB using the Visual Studio Code extension for a seamless development experience.
Expand Down Expand Up @@ -92,4 +97,4 @@ Get started with DocumentDB using the Visual Studio Code extension for a seamles

- Explore advanced querying capabilities in the [API Reference](../api-reference/index.md)
- Learn about indexing strategies in the [Architecture](../architecture/index.md) section
- Connect your application using one of our [Language Guides](python-setup.md)
- Connect your application using one of our [Language Guides](python-setup.md)
7 changes: 6 additions & 1 deletion getting-started/yugabyte-setup.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
---
title: YugabyteDB Setup
description: Learn how to use DocumentDB alongside YugabyteDB for a comprehensive database solution.
---

# DocumentDB Usage with YugabyteDB

Learn how to use DocumentDB alongside YugabyteDB for a comprehensive database solution.

## Overview

YugabyteDB is a distributed SQL database that is PostgreSQL-compatible. Since DocumentDB is built on PostgreSQL, it can be integrated with YugabyteDB to combine the benefits of both systems.
YugabyteDB is a distributed SQL database that is PostgreSQL-compatible. Since DocumentDB is built on PostgreSQL, it can be integrated with YugabyteDB to combine the benefits of both systems.
61 changes: 61 additions & 0 deletions postgres-api/functions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Functions
description: Complete reference for PostgreSQL extension functions including CRUD operations, collection management, user management, and utilities.
---

# Functions

Comprehensive documentation for PostgreSQL extension functions and their usage patterns.

## CRUD Operations

Functions for creating, reading, updating, and deleting documents in collections.

| Function | Documentation |
|----------|---------------|
| `aggregate_cursor_first_page()` | [documentdb/wiki/Functions#aggregate_cursor_first_page](https://github.com/microsoft/documentdb/wiki/Functions#aggregate_cursor_first_page)
| `count_query()` | [documentdb/wiki/Functions#count_query](https://github.com/microsoft/documentdb/wiki/Functions#count_query)
| `cursor_get_more()` | [documentdb/wiki/Functions#cursor_get_more](https://github.com/microsoft/documentdb/wiki/Functions#cursor_get_more)
| `delete()` | [documentdb/wiki/Functions#delete](https://github.com/microsoft/documentdb/wiki/Functions#delete)
| `distinct_query()` | [documentdb/wiki/Functions#distinct_query](https://github.com/microsoft/documentdb/wiki/Functions#distinct_query)
| `find_and_modify()` | [documentdb/wiki/Functions#find_and_modify](https://github.com/microsoft/documentdb/wiki/Functions#find_and_modify)
| `find_cursor_first_page()` | [documentdb/wiki/Functions#find_cursor_first_page](https://github.com/microsoft/documentdb/wiki/Functions#find_cursor_first_page)
| `insert()` | [documentdb/wiki/Functions#insert](https://github.com/microsoft/documentdb/wiki/Functions#insert)
| `insert_one()` | [documentdb/wiki/Functions#insert_one](https://github.com/microsoft/documentdb/wiki/Functions#insert_one)
| `list_collections_cursor_first_page()` | [documentdb/wiki/Functions#list_collections_cursor_first_page](https://github.com/microsoft/documentdb/wiki/Functions#list_collections_cursor_first_page)
| `list_indexes_cursor_first_page()` | [documentdb/wiki/Functions#list_indexes_cursor_first_page](https://github.com/microsoft/documentdb/wiki/Functions#list_indexes_cursor_first_page)
| `update()` | [documentdb/wiki/Functions#update](https://github.com/microsoft/documentdb/wiki/Functions#update)

## Collection Management

Functions for managing collections, views, and databases.

| | Documentation |
| --- | --- |
| `coll_mod()` | [documentdb/wiki/Functions#coll_mod](https://github.com/microsoft/documentdb/wiki/Functions#coll_mod)
| `create_collection()` | [documentdb/wiki/Functions#create_collection](https://github.com/microsoft/documentdb/wiki/Functions#create_collection)
| `create_collection_view()` | [documentdb/wiki/Functions#create_collection_view](https://github.com/microsoft/documentdb/wiki/Functions#create_collection_view)
| `drop_collection()` | [documentdb/wiki/Functions#drop_collection](https://github.com/microsoft/documentdb/wiki/Functions#drop_collection)
| `drop_database()` | [documentdb/wiki/Functions#drop_database](https://github.com/microsoft/documentdb/wiki/Functions#drop_database)
| `rename_collection()` | [documentdb/wiki/Functions#rename_collection](https://github.com/microsoft/documentdb/wiki/Functions#rename_collection)
| `shard_collection()` | [documentdb/wiki/Functions#shard_collection](https://github.com/microsoft/documentdb/wiki/Functions#shard_collection)

## User Management

Functions for creating, updating, and managing database users.

| | Documentation |
| --- | --- |
| `create_user()` | [documentdb/wiki/Functions#create_user](https://github.com/microsoft/documentdb/wiki/Functions#create_user)
| `drop_user()` | [documentdb/wiki/Functions#drop_user](https://github.com/microsoft/documentdb/wiki/Functions#drop_user)
| `update_user()` | [documentdb/wiki/Functions#update_user](https://github.com/microsoft/documentdb/wiki/Functions#update_user)
| `users_info()` | [documentdb/wiki/Functions#users_info](https://github.com/microsoft/documentdb/wiki/Functions#users_info)

## Utility Functions

Functions for retrieving version information and other utility operations.

| Function | Documentation |
| --- | --- |
| `binary_extended_version()` | [documentdb/wiki/Functions#binary_extended_version](https://github.com/microsoft/documentdb/wiki/Functions#binary_extended_version)
| `binary_version()` | [documentdb/wiki/Functions#binary_version](https://github.com/microsoft/documentdb/wiki/Functions#binary_version)
37 changes: 35 additions & 2 deletions postgres-api/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
# PostgreSQL API
---
title: Components
description: Learn about pg_documentdb_core and pg_documentdb_api PostgreSQL extensions that enable BSON support and document operations in Postgres.
---

DocumentDB provides PostgreSQL compatibility, allowing you to use PostgreSQL tools and drivers to interact with DocumentDB.
# Components

The DocumentDB implementation consists of two key PostgreSQL extensions that work together to provide MongoDB-compatible document database functionality within PostgreSQL.

## pg_documentdb_core

pg_documentdb_core is a PostgreSQL extension that introduces BSON datatype support and operations for native Postgres. This core component is essential for enabling document-oriented NoSQL capabilities within a PostgreSQL environment. It provides the foundational data structures and functions required to handle BSON data types, which are crucial for performing CRUD operations on documents.

### Key Features

- **BSON Datatype Support:** Adds BSON (Binary JSON) datatype to PostgreSQL, allowing for efficient storage and manipulation of JSON-like documents.

- **Native Operations:** Implements native PostgreSQL operations for BSON data, ensuring seamless integration and performance.

- **Extensibility:** Serves as the core building block for additional functionalities and extensions within the DocumentDB ecosystem.

## pg_documentdb_api

pg_documentdb_api is the public API surface for DocumentDB, providing CRUD functionality on documents stored in the database. This component leverages the capabilities of pg_documentdb_core to offer a comprehensive set of APIs for managing document data within PostgreSQL.

### Key Features

- **CRUD Operations:** Provides a rich set of APIs for creating, reading, updating, and deleting documents.

- **Advanced Queries:** Supports complex queries, including full-text searches, geospatial queries, and vector embeddings.

- **Integration:** Works seamlessly with pg_documentdb_core to deliver robust document management capabilities.

### Usage

To use pg_documentdb_api, you need to have pg_documentdb_core installed and configured in your PostgreSQL environment. Once set up, you can leverage the APIs provided by pg_documentdb_api to perform various document operations.
4 changes: 4 additions & 0 deletions postgres-api/navigation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- title: Components
link: index.md
- title: Functions
link: functions.md
Loading