Skip to content

Merge master into v6.1 #6217

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 66 commits into from
Aug 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
227ad9e
DOCSP 23290 adding pull example with bulkWrite (#1430)
ltran-mdb Jul 13, 2022
3d4bf8d
adds dataSize (#1425)
jmd-mongo Jul 13, 2022
1121ac3
DOCSP-23584 QE compatibility update (#1426)
jordan-smith721 Jul 13, 2022
6069f09
(DOCSP-23757) Updates to Readme From Pilot Test (#1265)
biniona-mongodb Jul 13, 2022
9eb1597
DOCS-15122 Time Series Collections cannot use renameCollection (#1440)
jocelyn-mendez1 Jul 14, 2022
df00721
(DOCSP-23728): Clarify manage indexes behavior (#1443)
jeff-allen-mongo Jul 14, 2022
5cb31a1
DOCSP 22495 simplifying setEquals example (#1416)
ltran-mdb Jul 14, 2022
644fc13
DOCSP-23779 Update libmongocrypt version (#1461)
jordan-smith721 Jul 14, 2022
45c152e
Docs-15382 audit log abort (#1452)
jason-price-mongodb Jul 14, 2022
b011dac
DOCSP 22373 - adding updateMany() example to push (#1455)
ltran-mdb Jul 15, 2022
c89ee8a
wraps server in quotes (#1421)
jmd-mongo Jul 15, 2022
fc1532e
DOCSP 15432 consolidating change stream updates (#1445)
ltran-mdb Jul 15, 2022
c9db2f5
(DOCS-15485): Add known issue for 6.0 (#1472)
jeff-allen-mongo Jul 15, 2022
0fe4fd1
DOCS-15299 fips mode legacy shell (#1215)
jason-price-mongodb Jul 18, 2022
946898e
(DOCSP-23848): Remove 'release candidate' text for 6.0 (#1474)
jeff-allen-mongo Jul 19, 2022
6ca0b7f
DOCSP-23354 add link (#1475)
Jul 19, 2022
2e5b02b
DOCS-15300 Add lookup and unionwith (#1306)
kanchana-mongodb Jul 19, 2022
7269605
DOCSP-23881 update redirects for 6.0 GA (#1478)
jeff-allen-mongo Jul 19, 2022
8911503
make tsc limiation a sub-section of Behavior (#1479)
jeff-allen-mongo Jul 19, 2022
29da4ad
DOCSP-23763 formatting fixes (#1451)
ltran-mdb Jul 19, 2022
3650549
add missing symlink (#1480)
jeff-allen-mongo Jul 20, 2022
3db4d26
DOCSP 23684 making sparse index example more consistent (#1442)
ltran-mdb Jul 25, 2022
5a9cc26
DOCS-15333-dbhash-locking (#1473)
jason-price-mongodb Jul 25, 2022
4a033e0
DOCSP-23034 correcting page (#1499)
ltran-mdb Jul 25, 2022
96b22ec
DOCSP-23893-log-messages-example (#1505)
jason-price-mongodb Jul 26, 2022
ee34ece
DOCSP-13706 adding ttl deletion clarification (#1367)
ltran-mdb Jul 27, 2022
124fe6c
(DOCS-15505): 5.0.10 initial changelog (#1511)
jeff-allen-mongo Jul 28, 2022
5f72176
DOCSP-21628 Consistent Syntax Examples: L-P (#1489)
jmd-mongo Jul 28, 2022
c5f8541
DOCSP-21629 Consistent Syntax Examples: R (#1490)
jmd-mongo Jul 28, 2022
742ce89
DOCSP-21630 Consistent Syntax Examples: S-W (#1491)
jmd-mongo Jul 28, 2022
cf38226
Docs-15364 invalid documents (#1450)
jason-price-mongodb Jul 28, 2022
ae506b6
DOCS 23751 making tag set terminology consistent (#1518)
ltran-mdb Jul 28, 2022
061ca14
DOCSP-23926 shard key requirement (#1513)
jason-price-mongodb Jul 28, 2022
fbcd607
DOCSP-21627 Consistent Syntax Examples G-K (#1454)
jmd-mongo Jul 28, 2022
cb6f276
DOCS 15351 - emphasizing latitude and longitude order (#1504)
ltran-mdb Jul 28, 2022
f84647d
DOCSP-24024-orphanCleanupDelaySecs-update (#1527)
jason-price-mongodb Jul 29, 2022
1b5b42a
Docsp 22714 feedback (#1526)
jordan-smith721 Jul 29, 2022
ed0b5ff
DOCSP-22627-time-series-limitations (#1463)
jason-price-mongodb Jul 29, 2022
a1599ec
finalize v5.0.10 changelog (#1538)
jeff-allen-mongo Aug 1, 2022
53d922b
updates libmongocrypt-version from 1.5.1 to 1.5 (#1539)
jmd-mongo Aug 1, 2022
d5eda31
DOCSP-22466 field name error (#1487)
Aug 1, 2022
e0eaf03
DOCS-14205-docs-bug (#1481)
Aug 1, 2022
50c5acb
DOCS-15501-filter-with-profile (#1525)
jason-price-mongodb Aug 1, 2022
c0e8b5c
(DOCSP-24005) Use Extracted Bluehawk (#1508)
biniona-mongodb Aug 1, 2022
b253a46
updates indentation (#1544)
jmd-mongo Aug 1, 2022
6c8989a
DOCSP-24155 add link (#1541)
Aug 1, 2022
e7960f5
DOCS-13592-connectTimeoutMS-description (#1537)
jason-price-mongodb Aug 1, 2022
0c53309
DOCS-15517-ubuntu-missing-step (#1540)
jason-price-mongodb Aug 1, 2022
5ad3ca6
DOCSP 21855 clarifying/updating updateMany and set (aggregation) exam…
ltran-mdb Aug 2, 2022
1776084
DOCSP-24024-remove-orphanCleanupDelaySecs-update (#1558)
jason-price-mongodb Aug 2, 2022
756c484
Removing key rotation guidance (#1559)
jordan-smith721 Aug 3, 2022
af08e1e
DOCSP-15108 $changeStream Aggregation Stage Reference (#869)
kennethdyer Aug 3, 2022
a6fca7f
DOCS 14287 - multi update failure documentation (#1531)
ltran-mdb Aug 4, 2022
a1328d4
DOCSP 23261- query operator introductions (#1532)
ltran-mdb Aug 4, 2022
a86b903
DOCSP-23774 arm64 note (#1557)
jason-price-mongodb Aug 4, 2022
b5ad5ac
DOCSP-24216 aggregation update (#1572)
jason-price-mongodb Aug 4, 2022
8434769
DOCS-15507-timeseries-example-issue (#1560)
jason-price-mongodb Aug 5, 2022
3304c26
DOCSP-23264 Fixes typo (#1590)
kennethdyer Aug 5, 2022
12efc3c
DOCSP-24314 corrects syntax example to runCommand rather than adminCo…
jmd-mongo Aug 5, 2022
5413efa
DOCSP-22547 add cross linking (#1587)
Aug 5, 2022
fd04d25
(DOCSP-24146) Libmongocrypt 1.5.2 Updates (#1552)
biniona-mongodb Aug 8, 2022
97961b3
(DOCS-15525): v4.2.22 upcoming release notes (#1597)
jeff-allen-mongo Aug 8, 2022
cd1064b
DOCSP-23220 Refactor Change Events (#1419)
kennethdyer Aug 8, 2022
bcb5464
DOCSP-24406 Fixes typo (#1602)
kennethdyer Aug 8, 2022
f5e4a3b
DOCS-13223 BACKPORT (#1607)
Aug 9, 2022
f247845
ks - important to warning (#1605)
biniona-mongodb Aug 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ source/includes/toc/
source/includes/table/
source/includes/steps/
source/includes/generated/includes-overview.rst
source/includes/generated/
source/includes/option/
source/includes/changelogs/*.rst
!source/includes/changelogs/releases/*.rst
Expand Down
10 changes: 6 additions & 4 deletions config/redirects
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
define: prefix docs
define: base https://www.mongodb.com/${prefix}
define: versions v2.2 v2.4 v2.6 v3.0 v3.2 v3.4 v3.6 v4.0 v4.2 v4.4 v5.0 v5.1 v5.2 v5.3 v6.0 master
symlink: manual -> v5.0
symlink: stable -> v5.0
symlink: rapid -> v5.2
symlink: upcoming -> master
symlink: master -> v6.0
symlink: stable -> v6.0
symlink: rapid -> v6.0
symlink: current -> v6.0
symlink: upcoming -> v6.0
symlink: manual -> v6.0

[v2.2]: ${prefix}/${version}/core/read-operations-introduction -> ${base}/${version}/core/read-operations/
[v2.2]: ${prefix}/${version}/core/write-operations-introduction -> ${base}/${version}/core/write-operations/
Expand Down
9 changes: 5 additions & 4 deletions snooty.toml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ toc_landing_pages = [
"/mongo",
"/reference/aggregation",
"/reference/bson-types",
"/reference/change-events",
"/reference/collation",
"/reference/command",
"/reference/command/nav-administration",
Expand Down Expand Up @@ -148,7 +149,7 @@ toc_landing_pages = [
"/reference/operator/query-logical",
"/reference/operator/query-miscellaneous",
"/reference/operator/query-modifiers",
"/reference/operator/query-projection",
"/reference/operator/projection",
"/reference/operator/query",
"/reference/operator/update-array",
"/reference/operator/update-bitwise",
Expand Down Expand Up @@ -262,9 +263,9 @@ kmip-hover = ":abbr:`KMIP (Key Management Interoperability Protocol)`"
kmip-kms-no-hover = "KMIP-compliant Key Management System"
kmip-kms = "{+kmip-hover+}-compliant {+kms-abbr+}"
csfle-code-snippets-gen-keys = "https://github.com/mongodb/docs/tree/master/source/includes/quick-start/generate-master-key"
libmongocrypt-version = "1.4"
sample-app-url-csfle = "https://github.com/mongodb/docs/tree/master/source/includes/sample_apps/csfle/build/"
sample-app-url-qe = "https://github.com/mongodb/docs/tree/master/source/includes/sample_apps/csfle/build/"
libmongocrypt-version = "1.5"
sample-app-url-csfle = "https://github.com/mongodb-university/docs-in-use-encryption-examples/tree/main/csfle"
sample-app-url-qe = "https://github.com/mongodb-university/docs-in-use-encryption-examples/tree/main/queryable-encryption"
qe = "Queryable Encryption"
qe-abbr = ":abbr:`QE (Queryable Encryption)`"
enc-fields-map = "encrypted fields map"
Expand Down
25 changes: 1 addition & 24 deletions source/changeStreams.txt
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,7 @@ upper-right to set the language of the examples on this page.
See :ref:`change-stream-output` for more information on the change stream
response document format.

.. _change-streams-updateLookup:

Lookup Full Document for Update Operations
------------------------------------------
Expand Down Expand Up @@ -1064,30 +1065,6 @@ Change Streams with Document Pre- and Post-Images
For complete examples with the change stream output, see
:ref:`db.collection.watch-change-streams-pre-and-post-images-example`.

.. _change-streams-expanded-events:

Expanded Events
---------------

.. versionadded:: 6.0

Starting in MongoDB 6.0, change streams support change notifications for DDL
events, like the :ref:`createIndexes <change-event-createIndexes>` and
:ref:`dropIndexes <change-event-dropIndexes>`. To include expanded
events in a change stream, create the change stream cursor using the
``showExpandedEvents`` option.

For example:

.. code-block:: javascript

let cur = db.names.aggregate( [
$changeStream: {
showExpandedEvents: true
}
] )

cur.next()

.. toctree::
:titlesonly:
Expand Down
18 changes: 12 additions & 6 deletions source/core/auditing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,18 @@ including the entry for the operation.
These auditing guarantees require that MongoDB run with
:setting:`journaling <storage.journal.enabled>` enabled.

.. warning:: MongoDB may lose events **if** the server terminates
before it commits the events to the audit log. The client may
receive confirmation of the event before MongoDB commits to the
audit log. For example, while auditing an aggregation operation, the
server might crash after returning the result but before the audit
log flushes.
.. warning::

MongoDB may lose events **if** the server terminates before it
commits the events to the audit log. The client may receive
confirmation of the event before MongoDB commits to the audit log.
For example, while auditing an aggregation operation, the server
might terminate after returning the result but before the audit log
flushes.

In addition, if the server cannot write to the audit log at the
:option:`audit destination <mongod --auditDestination>`, the server
will terminate.

.. [#filter] Audit configuration can include a :ref:`filter
<audit-filter>` to limit events to audit.
Expand Down
62 changes: 0 additions & 62 deletions source/core/csfle/fundamentals/manage-keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,6 @@ alternate name ``my-alt-name``.
Dynamically Assign Keys at Runtime
``````````````````````````````````


You can use alternate key names to dynamically set the {+dek-long+} for
a field at runtime. Use this functionality to encrypt individual
documents with different {+dek-long+}s using the same encryption schema.
Expand Down Expand Up @@ -267,67 +266,6 @@ uniquely encrypted using {+dek-long+}s specific to the individual
document. The keys are assigned dynamically at runtime.

.. _csfle_fundamentals_rotate_keys:

Rotate Encryption Keys
----------------------

Key rotation is the process of retiring an existing encryption key and replacing
it with a new one. Regularly rotating encryption keys is considered a best practice.

Rotate a {+cmk-long+}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To rotate a {+cmk-long+} (CMK), you must perform the following actions:

#. Decrypt all data using the {+dek-long+}s encrypted with your
previous CMK.
To learn more about decrypting your data, see :ref:`csfle-fundamentals-manual-encryption-manual-decryption`.
#. Create a new CMK.
#. Create new {+dek-long+}s using the new CMK.
#. Encrypt your data with the new {+dek-long+}s that were created with your
new CMK.

.. warning:: Don't Delete Keys Until the Rotation is Complete

Ensure you keep both your previous and new CMKs and
{+dek-long+}s until the rotation is complete. If you delete your
previous CMK before the rotation is complete, you will lose
all data with {+dek-long+}s that are still encrypted with your previous CMK.
If you delete a previous {+dek-long+} before your rotation is complete,
you risk losing data still encrypted with that {+dek-long+}.

.. warning:: Switching from locally-managed master key to a remote KMS

Before you switch from a locally-managed master key to a remote KMS,
you must decrypt all documents containing field-encrypted data.
Your existing data encryption keys can only be decrypted with the original
locally-managed master key and not the CMK that the KMS generates.

Failure to decrypt all data at this stage may cause permanent and
unrecoverable data loss.

``mongosh`` provides a helper method to rotate your CMKs. To learn more, see
:ref:`csfle-rotate-keys-mongo-shell`.

Rotate a {+dek-long+}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To rotate a {+dek-long+} (DEK), you must perform the following actions:

#. Decrypt all data encrypted with that DEK.
To learn more about decrypting your data, see :ref:`csfle-fundamentals-manual-encryption-manual-decryption`.
#. Create a new DEK.
#. Encrypt your decrypted data with the new DEK.

.. warning:: Don't Delete Keys Until the Rotation is Complete

Ensure you keep both your previous and new DEK until the rotation
is complete. If you delete your previous DEK before the rotation
is complete, you will lose all data still encrypted with that DEK.

``mongosh`` provides a helper method to rotate your DEKs. To learn more, see
:ref:`csfle-rotate-keys-mongo-shell`.

.. _csfle-rotate-keys-mongo-shell:

Procedure: Rotate Encryption Keys Using Mongo Shell
Expand Down
40 changes: 20 additions & 20 deletions source/core/csfle/quick-start.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,27 +58,27 @@ Before You Get Started
.. tab:: Java
:tabid: java-sync

`Complete Java Application <{+sample-app-url-csfle+}java/local/reader/>`__
`Complete Java Application <{+sample-app-url-csfle+}/java/local/reader/>`__

.. tab:: Node.js
:tabid: nodejs

`Complete Node.js Application <{+sample-app-url-csfle+}node/local/reader/>`__
`Complete Node.js Application <{+sample-app-url-csfle+}/node/local/reader/>`__

.. tab:: Python
:tabid: python

`Complete Python Application <{+sample-app-url-csfle+}python/local/reader/>`__
`Complete Python Application <{+sample-app-url-csfle+}/python/local/reader/>`__

.. tab:: C#
:tabid: csharp

`Complete C# Application <{+sample-app-url-csfle+}dotnet/local/reader/CSFLE/>`__
`Complete C# Application <{+sample-app-url-csfle+}/dotnet/local/reader/CSFLE/>`__

.. tab:: Go
:tabid: go

`Complete Go Application <{+sample-app-url-csfle+}go/local/reader/>`__
`Complete Go Application <{+sample-app-url-csfle+}/go/local/reader/>`__

.. tabs-selector:: drivers

Expand Down Expand Up @@ -112,31 +112,31 @@ Procedure
:tabid: java-sync

To view the complete code for making a {+dek-long+}, see
`our Github repository <{+sample-app-url-csfle+}java/local/reader/src/main/java/com/mongodb/csfle/makeDataKey.java>`__.
`our Github repository <{+sample-app-url-csfle+}/java/local/reader/src/main/java/com/mongodb/csfle/makeDataKey.java>`__.

.. tab::
:tabid: nodejs

To view the complete code for making a {+dek-long+}, see
`our Github repository <{+sample-app-url-csfle+}node/local/reader/make_data_key.js>`__.
`our Github repository <{+sample-app-url-csfle+}/node/local/reader/make_data_key.js>`__.

.. tab::
:tabid: python

To view the complete code for making a {+dek-long+}, see
`our Github repository <{+sample-app-url-csfle+}python/local/reader/make_data_key.py>`__.
`our Github repository <{+sample-app-url-csfle+}/python/local/reader/make_data_key.py>`__.

.. tab::
:tabid: csharp

To view the complete code for making a {+dek-long+}, see
`our Github repository <{+sample-app-url-csfle+}dotnet/local/reader/CSFLE/MakeDataKey.cs>`__.
`our Github repository <{+sample-app-url-csfle+}/dotnet/local/reader/CSFLE/MakeDataKey.cs>`__.

.. tab::
:tabid: go

To view the complete code for making a {+dek-long+}, see
`our Github repository <{+sample-app-url-csfle+}go/local/reader/make-data-key.go>`__.
`our Github repository <{+sample-app-url-csfle+}/go/local/reader/make-data-key.go>`__.

.. step:: Configure the MongoClient

Expand All @@ -154,31 +154,31 @@ Procedure
:tabid: java-sync

To view the complete code for inserting an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}java/local/reader/src/main/java/com/mongodb/csfle/insertEncryptedDocument.java>`__.
`our Github repository <{+sample-app-url-csfle+}/java/local/reader/src/main/java/com/mongodb/csfle/insertEncryptedDocument.java>`__.

.. tab::
:tabid: nodejs

To view the complete code for inserting an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}node/local/reader/insert_encrypted_document.js>`__.
`our Github repository <{+sample-app-url-csfle+}/node/local/reader/insert_encrypted_document.js>`__.

.. tab::
:tabid: python

To view the complete code for inserting an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}python/local/reader/insert_encrypted_document.py>`__.
`our Github repository <{+sample-app-url-csfle+}/python/local/reader/insert_encrypted_document.py>`__.

.. tab::
:tabid: csharp

To view the complete code for inserting an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}dotnet/local/reader/CSFLE/InsertEncryptedDocument.cs>`__
`our Github repository <{+sample-app-url-csfle+}/dotnet/local/reader/CSFLE/InsertEncryptedDocument.cs>`__

.. tab::
:tabid: go

To view the complete code for inserting an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}go/local/reader/insert-encrypted-document.go>`__.
`our Github repository <{+sample-app-url-csfle+}/go/local/reader/insert-encrypted-document.go>`__.

.. step:: Retrieve Your Encrypted Document

Expand All @@ -192,31 +192,31 @@ Procedure
:tabid: java-sync

To view the complete code for finding an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}java/local/reader/src/main/java/com/mongodb/csfle/insertEncryptedDocument.java>`__.
`our Github repository <{+sample-app-url-csfle+}/java/local/reader/src/main/java/com/mongodb/csfle/insertEncryptedDocument.java>`__.

.. tab::
:tabid: nodejs

To view the complete code for finding an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}node/local/reader/insert_encrypted_document.js>`__.
`our Github repository <{+sample-app-url-csfle+}/node/local/reader/insert_encrypted_document.js>`__.

.. tab::
:tabid: python

To view the complete code for finding an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}python/local/reader/insert_encrypted_document.py>`__.
`our Github repository <{+sample-app-url-csfle+}/python/local/reader/insert_encrypted_document.py>`__.

.. tab::
:tabid: csharp

To view the complete code for finding an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}dotnet/local/reader/CSFLE/InsertEncryptedDocument.cs>`__
`our Github repository <{+sample-app-url-csfle+}/dotnet/local/reader/CSFLE/InsertEncryptedDocument.cs>`__

.. tab::
:tabid: go

To view the complete code for finding an encrypted document, see
`our Github repository <{+sample-app-url-csfle+}go/local/reader/insert-encrypted-document.go>`__.
`our Github repository <{+sample-app-url-csfle+}/go/local/reader/insert-encrypted-document.go>`__.


Learn More
Expand Down
19 changes: 19 additions & 0 deletions source/core/csfle/reference/compatibility.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,24 @@ versions or later:
- ``2.12.1+``
- `Ruby Driver Quickstart <https://docs.mongodb.com/ruby-driver/current/tutorials/client-side-encryption/>`__

.. _csfle-reference-compatability-key-rotation:

.. important:: Key Rotation Support

To use the key rotation API of {+csfle-abbrev+}, such as the
``rewrapManyDateKey`` method, you must use specific versions
of either your driver's binding package or ``libmongocrypt``.

The following list details each driver's key rotation API
dependencies:

- Node.js Driver: Use ``mongodb-client-encryption``
version 2.2.0-alpha.6 or later.
- Java Driver: Use ``mongodb-crypt`` version 1.5.2 or later.
- pymongo: Use ``pymongocrypt`` version 1.3.1 or later.
- Go Driver: Use ``libmongocrypt`` version 1.5.2 or later.
- C#/.NET Driver: Use the MongoDB C#/.NET Driver version 2.17.1 or later.

Please refer to the driver reference documentation for syntax and
implementation examples.

Loading