diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
new file mode 100644
index 000000000..971e8a650
--- /dev/null
+++ b/.github/workflows/backport.yml
@@ -0,0 +1,26 @@
+name: Backport
+on:
+ pull_request_target:
+ types:
+ - closed
+ - labeled
+
+jobs:
+ backport:
+ name: Backport
+ runs-on: ubuntu-latest
+ # Only react to merged PRs for security reasons.
+ # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
+ if: >
+ github.event.pull_request.merged
+ && (
+ github.event.action == 'closed'
+ || (
+ github.event.action == 'labeled'
+ && contains(github.event.label.name, 'backport')
+ )
+ )
+ steps:
+ - uses: tibdex/backport@v2
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/source/aggregation-tutorials.txt b/source/aggregation-tutorials.txt
index 389ef6898..8feb8eee9 100644
--- a/source/aggregation-tutorials.txt
+++ b/source/aggregation-tutorials.txt
@@ -19,11 +19,11 @@ Aggregation Tutorials
.. toctree::
- /aggregation-tutorials/filtered-subset/
- /aggregation-tutorials/group-total/
- /aggregation-tutorials/unpack-arrays/
- /aggregation-tutorials/one-to-one-join/
- /aggregation-tutorials/multi-field-join/
+ Filtered Subset
+ Group & Total
+ Unpack Arrays & Group
+ One-to-One Join
+ Multi-Field Join
Overview
--------
diff --git a/source/fundamentals.txt b/source/fundamentals.txt
index f4feb7f63..e307628cf 100644
--- a/source/fundamentals.txt
+++ b/source/fundamentals.txt
@@ -6,22 +6,22 @@ Fundamentals
.. toctree::
- /fundamentals/connection
- /fundamentals/stable-api
- /fundamentals/authentication
- /fundamentals/crud
- /fundamentals/promises
- /fundamentals/aggregation
- /fundamentals/transactions
- /fundamentals/run-command
- /fundamentals/indexes
- /fundamentals/collations
- /fundamentals/logging
- /fundamentals/monitoring
- /fundamentals/gridfs
- /fundamentals/time-series
- /fundamentals/typescript
- /fundamentals/bson
- /fundamentals/encrypt-fields
+ Connection
+ Stable API
+ Authentication
+ CRUD Operations
+ Promises
+ Aggregation
+ Transactions
+ Run a Command
+ Indexes
+ Collations
+ Logging
+ Monitoring
+ GridFS
+ Time Series
+ TypeScript
+ BSON Settings
+ In-Use Encryption
.. include:: /includes/fundamentals-sections.rst
diff --git a/source/fundamentals/authentication.txt b/source/fundamentals/authentication.txt
index fe07df164..f85c2b828 100644
--- a/source/fundamentals/authentication.txt
+++ b/source/fundamentals/authentication.txt
@@ -8,8 +8,8 @@ Authentication
.. toctree::
- /fundamentals/authentication/mechanisms
- /fundamentals/authentication/enterprise-mechanisms
+ Authentication
+ Enterprise Authentication
Overview
--------
diff --git a/source/fundamentals/bson.txt b/source/fundamentals/bson.txt
index d6ca5ab9b..9d1b77b54 100644
--- a/source/fundamentals/bson.txt
+++ b/source/fundamentals/bson.txt
@@ -7,8 +7,8 @@ BSON Settings
.. toctree::
:caption: BSON settings
- /fundamentals/bson/undefined-values
- /fundamentals/bson/utf8-validation
+ Undefined Values
+ UTF-8 Validation
.. contents:: On this page
:local:
diff --git a/source/fundamentals/connection.txt b/source/fundamentals/connection.txt
index d37e08b47..ca2182d7d 100644
--- a/source/fundamentals/connection.txt
+++ b/source/fundamentals/connection.txt
@@ -16,12 +16,12 @@ Connection
.. toctree::
- /fundamentals/connection/connect
- /fundamentals/connection/connection-options
- /fundamentals/connection/network-compression
- /fundamentals/connection/tls
- /fundamentals/connection/socks
- Connect to MongoDB Atlas from AWS Lambda
+ Connection Guide
+ Connection Options
+ Network Compression
+ TLS
+ SOCKS5 Proxy Support
+ Connect with AWS Lambda
.. contents:: On this page
:local:
diff --git a/source/fundamentals/crud.txt b/source/fundamentals/crud.txt
index 4f07709f2..daa80f8aa 100644
--- a/source/fundamentals/crud.txt
+++ b/source/fundamentals/crud.txt
@@ -15,11 +15,11 @@ CRUD Operations
.. toctree::
:caption: CRUD Operations
- /fundamentals/crud/read-operations
- /fundamentals/crud/write-operations
- /fundamentals/crud/query-document
- /fundamentals/crud/compound-operations
- /fundamentals/crud/read-write-pref
+ Read
+ Write
+ Query
+ Compound Operations
+ Operations on Replica Sets
CRUD (Create, Read, Update, Delete) operations allow you to work with
the data stored in MongoDB.
diff --git a/source/fundamentals/crud/read-operations.txt b/source/fundamentals/crud/read-operations.txt
index a980ba50f..749c06a20 100644
--- a/source/fundamentals/crud/read-operations.txt
+++ b/source/fundamentals/crud/read-operations.txt
@@ -14,6 +14,19 @@ Read Operations
.. meta::
:keywords: code example, node.js, sample dataset
+.. toctree::
+ :caption: Read Operations
+
+ Retrieve Data
+ Access Data from a Cursor
+ Distinct Values
+ Sort Results
+ Skip Returned Results
+ Limit Returned Results
+ Specify Fields to Return
+ Search Geospatially
+ Search Text
+
- :doc:`/fundamentals/crud/read-operations/retrieve`
- :doc:`/fundamentals/crud/read-operations/cursor`
- :doc:`/fundamentals/crud/read-operations/distinct`
@@ -23,16 +36,3 @@ Read Operations
- :doc:`/fundamentals/crud/read-operations/project`
- :doc:`/fundamentals/crud/read-operations/geo`
- :doc:`/fundamentals/crud/read-operations/text`
-
-.. toctree::
- :caption: Read Operations
-
- /fundamentals/crud/read-operations/retrieve
- /fundamentals/crud/read-operations/cursor
- /fundamentals/crud/read-operations/distinct
- /fundamentals/crud/read-operations/sort
- /fundamentals/crud/read-operations/skip
- /fundamentals/crud/read-operations/limit
- /fundamentals/crud/read-operations/project
- /fundamentals/crud/read-operations/geo
- /fundamentals/crud/read-operations/text
diff --git a/source/fundamentals/crud/write-operations.txt b/source/fundamentals/crud/write-operations.txt
index badb154f4..c7ea12bb7 100644
--- a/source/fundamentals/crud/write-operations.txt
+++ b/source/fundamentals/crud/write-operations.txt
@@ -5,20 +5,20 @@ Write Operations
.. meta::
:description: Learn about the commands for running MongoDB write operations by using the {+driver-long+}.
+
+.. toctree::
+ :caption: Write Operations
+
+ Insert
+ Custom Values for _id
+ Delete
+ Modify
+ Update Arrays
+ Upsert
+
- :doc:`/fundamentals/crud/write-operations/insert`
- :doc:`/fundamentals/crud/write-operations/pkFactory`
- :doc:`/fundamentals/crud/write-operations/delete`
- :doc:`/fundamentals/crud/write-operations/modify`
- :doc:`/fundamentals/crud/write-operations/embedded-arrays`
- :doc:`/fundamentals/crud/write-operations/upsert`
-
-.. toctree::
- :caption: Write Operations
-
- /fundamentals/crud/write-operations/insert
- /fundamentals/crud/write-operations/pkFactory
- /fundamentals/crud/write-operations/delete
- /fundamentals/crud/write-operations/modify
- /fundamentals/crud/write-operations/embedded-arrays
- /fundamentals/crud/write-operations/upsert
-
diff --git a/source/fundamentals/monitoring.txt b/source/fundamentals/monitoring.txt
index cd6071f13..dde3dd3be 100644
--- a/source/fundamentals/monitoring.txt
+++ b/source/fundamentals/monitoring.txt
@@ -9,9 +9,9 @@ Monitoring
.. toctree::
:caption: CRUD Operations
- /fundamentals/monitoring/cluster-monitoring
- /fundamentals/monitoring/command-monitoring
- /fundamentals/monitoring/connection-monitoring
+ Clusters
+ Commands
+ Connection Pool
- :doc:`Cluster Monitoring `: monitoring
changes in a cluster
diff --git a/source/index.txt b/source/index.txt
index 92a950394..7cc4d3878 100644
--- a/source/index.txt
+++ b/source/index.txt
@@ -17,17 +17,17 @@ MongoDB Node Driver
:maxdepth: 1
Quick Start
- /quick-reference
- /whats-new
- /usage-examples
- /fundamentals
- /aggregation-tutorials
+ Quick Reference
+ What's New
+ Usage Examples
+ Fundamentals
+ Aggregation Tutorials
API Documentation <{+api+}>
- /faq
- /connection-troubleshooting
- /issues-and-help
- /compatibility
- /upgrade
+ FAQ
+ Connection Troubleshooting
+ Issues & Help
+ Compatibility
+ Upgrade
Release Notes
View the Source
diff --git a/source/quick-start.txt b/source/quick-start.txt
index 46d8eff84..0ebfed6a7 100644
--- a/source/quick-start.txt
+++ b/source/quick-start.txt
@@ -18,6 +18,14 @@ Node Driver Quick Start
:depth: 1
:class: singlecol
+.. toctree::
+
+ Download & Install
+ Create a Deployment
+ Create a Connection String
+ Connect to MongoDB
+ Next Steps
+
Overview
--------
@@ -35,11 +43,3 @@ required) MongoDB Atlas deployment by following the steps in this guide.
Follow the steps in this guide to connect a sample Node.js application to
a MongoDB Atlas deployment.
-
-.. toctree::
-
- /quick-start/download-and-install/
- /quick-start/create-a-deployment/
- /quick-start/create-a-connection-string/
- /quick-start/connect-to-mongodb/
- /quick-start/next-steps/
diff --git a/source/usage-examples.txt b/source/usage-examples.txt
index 640d56748..7b44da38d 100644
--- a/source/usage-examples.txt
+++ b/source/usage-examples.txt
@@ -20,16 +20,16 @@ Usage Examples
.. toctree::
- /usage-examples/find-operations
- /usage-examples/insert-operations
- /usage-examples/update-and-replace-operations
- /usage-examples/delete-operations
- /usage-examples/count
- /usage-examples/distinct
- /usage-examples/command
- /usage-examples/changeStream
- /usage-examples/bulkWrite
- /usage-examples/transactions
+ Find
+ Insert
+ Update & Replace
+ Delete
+ Count Documents
+ Distinct Field Values
+ Run a Command
+ Watch for Changes
+ Bulk Operations
+ Perform a Transaction
Overview
--------
diff --git a/source/usage-examples/delete-operations.txt b/source/usage-examples/delete-operations.txt
index 4b7039849..bc0a4ecb0 100644
--- a/source/usage-examples/delete-operations.txt
+++ b/source/usage-examples/delete-operations.txt
@@ -4,13 +4,12 @@ Delete Operations
.. default-domain:: mongodb
-- :doc:`Delete a Document `
-
-- :doc:`Delete Multiple Documents `
-
.. toctree::
:caption: Examples
- /usage-examples/deleteOne
- /usage-examples/deleteMany
+ Delete a Document
+ Delete Multiple Documents
+- :doc:`Delete a Document `
+
+- :doc:`Delete Multiple Documents `
diff --git a/source/usage-examples/find-operations.txt b/source/usage-examples/find-operations.txt
index fcfbd81f2..ca37cc69c 100644
--- a/source/usage-examples/find-operations.txt
+++ b/source/usage-examples/find-operations.txt
@@ -5,12 +5,12 @@ Find Operations
.. meta::
:description: Learn by example: how to create queries and retrieve data from MongoDB by using the {+driver-long+}.
-- :doc:`Find a Document `
-
-- :doc:`Find Multiple Documents `
-
.. toctree::
:caption: Examples
- /usage-examples/findOne
- /usage-examples/find
+ Find a Document
+ Find Multiple Documents
+
+- :doc:`Find a Document `
+
+- :doc:`Find Multiple Documents `
diff --git a/source/usage-examples/insert-operations.txt b/source/usage-examples/insert-operations.txt
index 5d54b587e..e32ff60eb 100644
--- a/source/usage-examples/insert-operations.txt
+++ b/source/usage-examples/insert-operations.txt
@@ -5,13 +5,12 @@ Insert Operations
.. meta::
:description: Learn by example: how to insert data into MongoDB by using the {+driver-long+}.
-- :doc:`Insert a Document `
-
-- :doc:`Insert Multiple Documents `
-
-
.. toctree::
:caption: Examples
- /usage-examples/insertOne
- /usage-examples/insertMany
+ Insert a Document
+ Insert Multiple Documents
+
+- :doc:`Insert a Document `
+
+- :doc:`Insert Multiple Documents `
diff --git a/source/usage-examples/transactions.txt b/source/usage-examples/transactions.txt
index 32fbe0465..1d57c11f2 100644
--- a/source/usage-examples/transactions.txt
+++ b/source/usage-examples/transactions.txt
@@ -7,8 +7,8 @@ Perform a Transaction
.. toctree::
:caption: Transaction Usage Examples
- /usage-examples/transaction-conv
- /usage-examples/transaction-core
+ Convenient Transaction API
+ Core API
The following usage examples demonstrate how to perform transactions by
using the transaction APIs in the {+driver-short+}:
diff --git a/source/usage-examples/update-and-replace-operations.txt b/source/usage-examples/update-and-replace-operations.txt
index 873d6d0cd..f60402c98 100644
--- a/source/usage-examples/update-and-replace-operations.txt
+++ b/source/usage-examples/update-and-replace-operations.txt
@@ -5,15 +5,15 @@ Update & Replace Operations
.. meta::
:description: Learn by example: how to update and replace data in MongoDB by using the {+driver-long+}.
+.. toctree::
+ :caption: Examples
+
+ Update a Document
+ Update Multiple Documents
+ Replace a Document
+
- :doc:`Update a Document `
- :doc:`Update Multiple Documents `
- :doc:`Replace a Document `
-
-.. toctree::
- :caption: Examples
-
- /usage-examples/updateOne
- /usage-examples/updateMany
- /usage-examples/replaceOne