diff --git a/.gitignore b/.gitignore index c674fa83fcf..bc3bbd949ca 100644 --- a/.gitignore +++ b/.gitignore @@ -85,4 +85,4 @@ primer/source/includes/table-linux-kernel-version-production.yaml venv .vscode changelogs/.mongodb-jira.yaml -source/includes/qe-tutorials/csharp/obj/Debug/ \ No newline at end of file +source/includes/qe-tutorials/csharp/obj/ \ No newline at end of file diff --git a/.tx/config b/.tx/config deleted file mode 100644 index dace251cd17..00000000000 --- a/.tx/config +++ /dev/null @@ -1,5244 +0,0 @@ -[main] -host = https://www.transifex.com -type = PO - -[mongodb-manual.installation] -file_filter = locale//LC_MESSAGES/installation.po -source_file = locale/pot/installation.pot -source_lang = en - -[mongodb-manual.about] -file_filter = locale//LC_MESSAGES/about.po -source_file = locale/pot/about.pot -source_lang = en - -[mongodb-manual.data-center-awareness] -file_filter = locale//LC_MESSAGES/data-center-awareness.po -source_file = locale/pot/data-center-awareness.pot -source_lang = en - -[mongodb-manual.administration] -file_filter = locale//LC_MESSAGES/administration.po -source_file = locale/pot/administration.pot -source_lang = en - -[mongodb-manual.indexes] -file_filter = locale//LC_MESSAGES/indexes.po -source_file = locale/pot/indexes.pot -source_lang = en - -[mongodb-manual.faq] -file_filter = locale//LC_MESSAGES/faq.po -source_file = locale/pot/faq.pot -source_lang = en - -[mongodb-manual.contents] -file_filter = locale//LC_MESSAGES/contents.po -source_file = locale/pot/contents.pot -source_lang = en - -[mongodb-manual.release-notes] -file_filter = locale//LC_MESSAGES/release-notes.po -source_file = locale/pot/release-notes.pot -source_lang = en - -[mongodb-manual.tutorial] -file_filter = locale//LC_MESSAGES/tutorial.po -source_file = locale/pot/tutorial.pot -source_lang = en - -[mongodb-manual.security] -file_filter = locale//LC_MESSAGES/security.po -source_file = locale/pot/security.pot -source_lang = en - -[mongodb-manual.reference] -file_filter = locale//LC_MESSAGES/reference.po -source_file = locale/pot/reference.pot -source_lang = en - -[mongodb-manual.sharding] -file_filter = locale//LC_MESSAGES/sharding.po -source_file = locale/pot/sharding.pot -source_lang = en - -[mongodb-manual.crud] -file_filter = locale//LC_MESSAGES/crud.po -source_file = locale/pot/crud.pot -source_lang = en - -[mongodb-manual.data-modeling] -file_filter = locale//LC_MESSAGES/data-modeling.po -source_file = locale/pot/data-modeling.pot -source_lang = en - -[mongodb-manual.replication] -file_filter = locale//LC_MESSAGES/replication.po -source_file = locale/pot/replication.pot -source_lang = en - -[mongodb-manual.index] -file_filter = locale//LC_MESSAGES/index.po -source_file = locale/pot/index.pot -source_lang = en - -[mongodb-manual.aggregation] -file_filter = locale//LC_MESSAGES/aggregation.po -source_file = locale/pot/aggregation.pot -source_lang = en - -[mongodb-manual.faq--replica-sets] -file_filter = locale//LC_MESSAGES/faq/replica-sets.po -source_file = locale/pot/faq/replica-sets.pot -source_lang = en - -[mongodb-manual.faq--fundamentals] -file_filter = locale//LC_MESSAGES/faq/fundamentals.po -source_file = locale/pot/faq/fundamentals.pot -source_lang = en - -[mongodb-manual.faq--indexes] -file_filter = locale//LC_MESSAGES/faq/indexes.po -source_file = locale/pot/faq/indexes.pot -source_lang = en - -[mongodb-manual.faq--storage] -file_filter = locale//LC_MESSAGES/faq/storage.po -source_file = locale/pot/faq/storage.pot -source_lang = en - -[mongodb-manual.faq--diagnostics] -file_filter = locale//LC_MESSAGES/faq/diagnostics.po -source_file = locale/pot/faq/diagnostics.pot -source_lang = en - -[mongodb-manual.faq--mongo] -file_filter = locale//LC_MESSAGES/faq/mongo.po -source_file = locale/pot/faq/mongo.pot -source_lang = en - -[mongodb-manual.faq--concurrency] -file_filter = locale//LC_MESSAGES/faq/concurrency.po -source_file = locale/pot/faq/concurrency.pot -source_lang = en - -[mongodb-manual.faq--sharding] -file_filter = locale//LC_MESSAGES/faq/sharding.po -source_file = locale/pot/faq/sharding.pot -source_lang = en - -[mongodb-manual.faq--developers] -file_filter = locale//LC_MESSAGES/faq/developers.po -source_file = locale/pot/faq/developers.pot -source_lang = en - -[mongodb-manual.applications--data-models-applications] -file_filter = locale//LC_MESSAGES/applications/data-models-applications.po -source_file = locale/pot/applications/data-models-applications.pot -source_lang = en - -[mongodb-manual.applications--indexes] -file_filter = locale//LC_MESSAGES/applications/indexes.po -source_file = locale/pot/applications/indexes.pot -source_lang = en - -[mongodb-manual.applications--data-models-tree-structures] -file_filter = locale//LC_MESSAGES/applications/data-models-tree-structures.po -source_file = locale/pot/applications/data-models-tree-structures.pot -source_lang = en - -[mongodb-manual.applications--drivers] -file_filter = locale//LC_MESSAGES/applications/drivers.po -source_file = locale/pot/applications/drivers.pot -source_lang = en - -[mongodb-manual.applications--crud] -file_filter = locale//LC_MESSAGES/applications/crud.po -source_file = locale/pot/applications/crud.pot -source_lang = en - -[mongodb-manual.applications--design-notes] -file_filter = locale//LC_MESSAGES/applications/design-notes.po -source_file = locale/pot/applications/design-notes.pot -source_lang = en - -[mongodb-manual.applications--data-models] -file_filter = locale//LC_MESSAGES/applications/data-models.po -source_file = locale/pot/applications/data-models.pot -source_lang = en - -[mongodb-manual.applications--geospatial-indexes] -file_filter = locale//LC_MESSAGES/applications/geospatial-indexes.po -source_file = locale/pot/applications/geospatial-indexes.pot -source_lang = en - -[mongodb-manual.applications--replication] -file_filter = locale//LC_MESSAGES/applications/replication.po -source_file = locale/pot/applications/replication.pot -source_lang = en - -[mongodb-manual.applications--aggregation] -file_filter = locale//LC_MESSAGES/applications/aggregation.po -source_file = locale/pot/applications/aggregation.pot -source_lang = en - -[mongodb-manual.applications--data-models-relationships] -file_filter = locale//LC_MESSAGES/applications/data-models-relationships.po -source_file = locale/pot/applications/data-models-relationships.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-changes] -file_filter = locale//LC_MESSAGES/release-notes/2.6-changes.po -source_file = locale/pot/release-notes/2.6-changes.pot -source_lang = en - -[mongodb-manual.release-notes--1_4-changes] -file_filter = locale//LC_MESSAGES/release-notes/1.4-changes.po -source_file = locale/pot/release-notes/1.4-changes.pot -source_lang = en - -[mongodb-manual.release-notes--1_8] -file_filter = locale//LC_MESSAGES/release-notes/1.8.po -source_file = locale/pot/release-notes/1.8.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-upgrade] -file_filter = locale//LC_MESSAGES/release-notes/2.6-upgrade.po -source_file = locale/pot/release-notes/2.6-upgrade.pot -source_lang = en - -[mongodb-manual.release-notes--replica-set-features] -file_filter = locale//LC_MESSAGES/release-notes/replica-set-features.po -source_file = locale/pot/release-notes/replica-set-features.pot -source_lang = en - -[mongodb-manual.release-notes--1_2-changes] -file_filter = locale//LC_MESSAGES/release-notes/1.2-changes.po -source_file = locale/pot/release-notes/1.2-changes.pot -source_lang = en - -[mongodb-manual.release-notes--2_2] -file_filter = locale//LC_MESSAGES/release-notes/2.2.po -source_file = locale/pot/release-notes/2.2.pot -source_lang = en - -[mongodb-manual.release-notes--drivers-write-concern] -file_filter = locale//LC_MESSAGES/release-notes/drivers-write-concern.po -source_file = locale/pot/release-notes/drivers-write-concern.pot -source_lang = en - -[mongodb-manual.release-notes--2_0] -file_filter = locale//LC_MESSAGES/release-notes/2.0.po -source_file = locale/pot/release-notes/2.0.pot -source_lang = en - -[mongodb-manual.release-notes--1_2] -file_filter = locale//LC_MESSAGES/release-notes/1.2.po -source_file = locale/pot/release-notes/1.2.pot -source_lang = en - -[mongodb-manual.release-notes--security] -file_filter = locale//LC_MESSAGES/release-notes/security.po -source_file = locale/pot/release-notes/security.pot -source_lang = en - -[mongodb-manual.release-notes--2_6] -file_filter = locale//LC_MESSAGES/release-notes/2.6.po -source_file = locale/pot/release-notes/2.6.pot -source_lang = en - -[mongodb-manual.release-notes--1_6-changes] -file_filter = locale//LC_MESSAGES/release-notes/1.6-changes.po -source_file = locale/pot/release-notes/1.6-changes.pot -source_lang = en - -[mongodb-manual.release-notes--2_4] -file_filter = locale//LC_MESSAGES/release-notes/2.4.po -source_file = locale/pot/release-notes/2.4.pot -source_lang = en - -[mongodb-manual.release-notes--1_8-changes] -file_filter = locale//LC_MESSAGES/release-notes/1.8-changes.po -source_file = locale/pot/release-notes/1.8-changes.pot -source_lang = en - -[mongodb-manual.release-notes--1_4] -file_filter = locale//LC_MESSAGES/release-notes/1.4.po -source_file = locale/pot/release-notes/1.4.pot -source_lang = en - -[mongodb-manual.release-notes--2_2-changes] -file_filter = locale//LC_MESSAGES/release-notes/2.2-changes.po -source_file = locale/pot/release-notes/2.2-changes.pot -source_lang = en - -[mongodb-manual.release-notes--2_0-changes] -file_filter = locale//LC_MESSAGES/release-notes/2.0-changes.po -source_file = locale/pot/release-notes/2.0-changes.pot -source_lang = en - -[mongodb-manual.release-notes--1_6] -file_filter = locale//LC_MESSAGES/release-notes/1.6.po -source_file = locale/pot/release-notes/1.6.pot -source_lang = en - -[mongodb-manual.release-notes--2_4-javascript] -file_filter = locale//LC_MESSAGES/release-notes/2.4-javascript.po -source_file = locale/pot/release-notes/2.4-javascript.pot -source_lang = en - -[mongodb-manual.release-notes--2_4-upgrade] -file_filter = locale//LC_MESSAGES/release-notes/2.4-upgrade.po -source_file = locale/pot/release-notes/2.4-upgrade.pot -source_lang = en - -[mongodb-manual.release-notes--2_4-index-types] -file_filter = locale//LC_MESSAGES/release-notes/2.4-index-types.po -source_file = locale/pot/release-notes/2.4-index-types.pot -source_lang = en - -[mongodb-manual.release-notes--2_4-changes] -file_filter = locale//LC_MESSAGES/release-notes/2.4-changes.po -source_file = locale/pot/release-notes/2.4-changes.pot -source_lang = en - -[mongodb-manual.administration--indexes-geo] -file_filter = locale//LC_MESSAGES/administration/indexes-geo.po -source_file = locale/pot/administration/indexes-geo.pot -source_lang = en - -[mongodb-manual.administration--replica-sets] -file_filter = locale//LC_MESSAGES/administration/replica-sets.po -source_file = locale/pot/administration/replica-sets.pot -source_lang = en - -[mongodb-manual.administration--sharded-cluster-maintenance] -file_filter = locale//LC_MESSAGES/administration/sharded-cluster-maintenance.po -source_file = locale/pot/administration/sharded-cluster-maintenance.pot -source_lang = en - -[mongodb-manual.administration--indexes] -file_filter = locale//LC_MESSAGES/administration/indexes.po -source_file = locale/pot/administration/indexes.pot -source_lang = en - -[mongodb-manual.administration--monitoring] -file_filter = locale//LC_MESSAGES/administration/monitoring.po -source_file = locale/pot/administration/monitoring.pot -source_lang = en - -[mongodb-manual.administration--tutorials] -file_filter = locale//LC_MESSAGES/administration/tutorials.po -source_file = locale/pot/administration/tutorials.pot -source_lang = en - -[mongodb-manual.administration--scripting] -file_filter = locale//LC_MESSAGES/administration/scripting.po -source_file = locale/pot/administration/scripting.pot -source_lang = en - -[mongodb-manual.administration--indexes-creation] -file_filter = locale//LC_MESSAGES/administration/indexes-creation.po -source_file = locale/pot/administration/indexes-creation.pot -source_lang = en - -[mongodb-manual.administration--production-notes] -file_filter = locale//LC_MESSAGES/administration/production-notes.po -source_file = locale/pot/administration/production-notes.pot -source_lang = en - -[mongodb-manual.administration--strategy] -file_filter = locale//LC_MESSAGES/administration/strategy.po -source_file = locale/pot/administration/strategy.pot -source_lang = en - -[mongodb-manual.administration--security] -file_filter = locale//LC_MESSAGES/administration/security.po -source_file = locale/pot/administration/security.pot -source_lang = en - -[mongodb-manual.administration--backup-sharded-clusters] -file_filter = locale//LC_MESSAGES/administration/backup-sharded-clusters.po -source_file = locale/pot/administration/backup-sharded-clusters.pot -source_lang = en - -[mongodb-manual.administration--sharded-cluster-data] -file_filter = locale//LC_MESSAGES/administration/sharded-cluster-data.po -source_file = locale/pot/administration/sharded-cluster-data.pot -source_lang = en - -[mongodb-manual.administration--data-management] -file_filter = locale//LC_MESSAGES/administration/data-management.po -source_file = locale/pot/administration/data-management.pot -source_lang = en - -[mongodb-manual.administration--indexes-text] -file_filter = locale//LC_MESSAGES/administration/indexes-text.po -source_file = locale/pot/administration/indexes-text.pot -source_lang = en - -[mongodb-manual.administration--install-on-linux] -file_filter = locale//LC_MESSAGES/administration/install-on-linux.po -source_file = locale/pot/administration/install-on-linux.pot -source_lang = en - -[mongodb-manual.administration--indexes-management] -file_filter = locale//LC_MESSAGES/administration/indexes-management.po -source_file = locale/pot/administration/indexes-management.pot -source_lang = en - -[mongodb-manual.administration--configuration] -file_filter = locale//LC_MESSAGES/administration/configuration.po -source_file = locale/pot/administration/configuration.pot -source_lang = en - -[mongodb-manual.administration--sharded-clusters] -file_filter = locale//LC_MESSAGES/administration/sharded-clusters.po -source_file = locale/pot/administration/sharded-clusters.pot -source_lang = en - -[mongodb-manual.administration--sharded-cluster-deployment] -file_filter = locale//LC_MESSAGES/administration/sharded-cluster-deployment.po -source_file = locale/pot/administration/sharded-cluster-deployment.pot -source_lang = en - -[mongodb-manual.administration--security-access-control] -file_filter = locale//LC_MESSAGES/administration/security-access-control.po -source_file = locale/pot/administration/security-access-control.pot -source_lang = en - -[mongodb-manual.administration--optimization] -file_filter = locale//LC_MESSAGES/administration/optimization.po -source_file = locale/pot/administration/optimization.pot -source_lang = en - -[mongodb-manual.administration--security-network] -file_filter = locale//LC_MESSAGES/administration/security-network.po -source_file = locale/pot/administration/security-network.pot -source_lang = en - -[mongodb-manual.administration--backup] -file_filter = locale//LC_MESSAGES/administration/backup.po -source_file = locale/pot/administration/backup.pot -source_lang = en - -[mongodb-manual.administration--replica-set-maintenance] -file_filter = locale//LC_MESSAGES/administration/replica-set-maintenance.po -source_file = locale/pot/administration/replica-set-maintenance.pot -source_lang = en - -[mongodb-manual.administration--maintenance] -file_filter = locale//LC_MESSAGES/administration/maintenance.po -source_file = locale/pot/administration/maintenance.pot -source_lang = en - -[mongodb-manual.administration--replica-set-deployment] -file_filter = locale//LC_MESSAGES/administration/replica-set-deployment.po -source_file = locale/pot/administration/replica-set-deployment.pot -source_lang = en - -[mongodb-manual.administration--replica-set-member-configuration] -file_filter = locale//LC_MESSAGES/administration/replica-set-member-configuration.po -source_file = locale/pot/administration/replica-set-member-configuration.pot -source_lang = en - -[mongodb-manual.tutorial--create-an-index] -file_filter = locale//LC_MESSAGES/tutorial/create-an-index.po -source_file = locale/pot/tutorial/create-an-index.pot -source_lang = en - -[mongodb-manual.tutorial--remove-documents] -file_filter = locale//LC_MESSAGES/tutorial/remove-documents.po -source_file = locale/pot/tutorial/remove-documents.pot -source_lang = en - -[mongodb-manual.tutorial--configure-sharded-cluster-balancer] -file_filter = locale//LC_MESSAGES/tutorial/configure-sharded-cluster-balancer.po -source_file = locale/pot/tutorial/configure-sharded-cluster-balancer.pot -source_lang = en - -[mongodb-manual.tutorial--create-indexes-to-support-queries] -file_filter = locale//LC_MESSAGES/tutorial/create-indexes-to-support-queries.po -source_file = locale/pot/tutorial/create-indexes-to-support-queries.pot -source_lang = en - -[mongodb-manual.tutorial--generate-test-data] -file_filter = locale//LC_MESSAGES/tutorial/generate-test-data.po -source_file = locale/pot/tutorial/generate-test-data.pot -source_lang = en - -[mongodb-manual.tutorial--roll-back-to-v1_8-index] -file_filter = locale//LC_MESSAGES/tutorial/roll-back-to-v1.8-index.po -source_file = locale/pot/tutorial/roll-back-to-v1.8-index.pot -source_lang = en - -[mongodb-manual.tutorial--manage-mongodb-processes] -file_filter = locale//LC_MESSAGES/tutorial/manage-mongodb-processes.po -source_file = locale/pot/tutorial/manage-mongodb-processes.pot -source_lang = en - -[mongodb-manual.tutorial--limit-number-of-items-scanned-for-text-search] -file_filter = locale//LC_MESSAGES/tutorial/limit-number-of-items-scanned-for-text-search.po -source_file = locale/pot/tutorial/limit-number-of-items-scanned-for-text-search.pot -source_lang = en - -[mongodb-manual.tutorial--query-a-geohaystack-index] -file_filter = locale//LC_MESSAGES/tutorial/query-a-geohaystack-index.po -source_file = locale/pot/tutorial/query-a-geohaystack-index.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-linux] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-linux.po -source_file = locale/pot/tutorial/install-mongodb-on-linux.pot -source_lang = en - -[mongodb-manual.tutorial--create-text-index-on-multiple-fields] -file_filter = locale//LC_MESSAGES/tutorial/create-text-index-on-multiple-fields.po -source_file = locale/pot/tutorial/create-text-index-on-multiple-fields.pot -source_lang = en - -[mongodb-manual.tutorial--replace-config-server] -file_filter = locale//LC_MESSAGES/tutorial/replace-config-server.po -source_file = locale/pot/tutorial/replace-config-server.pot -source_lang = en - -[mongodb-manual.tutorial--define-roles] -file_filter = locale//LC_MESSAGES/tutorial/define-roles.po -source_file = locale/pot/tutorial/define-roles.pot -source_lang = en - -[mongodb-manual.tutorial--create-an-auto-incrementing-field] -file_filter = locale//LC_MESSAGES/tutorial/create-an-auto-incrementing-field.po -source_file = locale/pot/tutorial/create-an-auto-incrementing-field.pot -source_lang = en - -[mongodb-manual.tutorial--ensure-indexes-fit-ram] -file_filter = locale//LC_MESSAGES/tutorial/ensure-indexes-fit-ram.po -source_file = locale/pot/tutorial/ensure-indexes-fit-ram.pot -source_lang = en - -[mongodb-manual.tutorial--split-chunks-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/split-chunks-in-sharded-cluster.po -source_file = locale/pot/tutorial/split-chunks-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--migrate-config-servers-with-same-hostname] -file_filter = locale//LC_MESSAGES/tutorial/migrate-config-servers-with-same-hostname.po -source_file = locale/pot/tutorial/migrate-config-servers-with-same-hostname.pot -source_lang = en - -[mongodb-manual.tutorial--configure-linux-iptables-firewall] -file_filter = locale//LC_MESSAGES/tutorial/configure-linux-iptables-firewall.po -source_file = locale/pot/tutorial/configure-linux-iptables-firewall.pot -source_lang = en - -[mongodb-manual.tutorial--upgrade-revision] -file_filter = locale//LC_MESSAGES/tutorial/upgrade-revision.po -source_file = locale/pot/tutorial/upgrade-revision.pot -source_lang = en - -[mongodb-manual.tutorial--view-sharded-cluster-configuration] -file_filter = locale//LC_MESSAGES/tutorial/view-sharded-cluster-configuration.po -source_file = locale/pot/tutorial/view-sharded-cluster-configuration.pot -source_lang = en - -[mongodb-manual.tutorial--convert-replica-set-to-replicated-shard-cluster] -file_filter = locale//LC_MESSAGES/tutorial/convert-replica-set-to-replicated-shard-cluster.po -source_file = locale/pot/tutorial/convert-replica-set-to-replicated-shard-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--shard-gridfs-data] -file_filter = locale//LC_MESSAGES/tutorial/shard-gridfs-data.po -source_file = locale/pot/tutorial/shard-gridfs-data.pot -source_lang = en - -[mongodb-manual.tutorial--create-a-hashed-index] -file_filter = locale//LC_MESSAGES/tutorial/create-a-hashed-index.po -source_file = locale/pot/tutorial/create-a-hashed-index.pot -source_lang = en - -[mongodb-manual.tutorial--model-data-for-atomic-operations] -file_filter = locale//LC_MESSAGES/tutorial/model-data-for-atomic-operations.po -source_file = locale/pot/tutorial/model-data-for-atomic-operations.pot -source_lang = en - -[mongodb-manual.tutorial--configure-a-delayed-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/configure-a-delayed-replica-set-member.po -source_file = locale/pot/tutorial/configure-a-delayed-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--build-a-2dsphere-index] -file_filter = locale//LC_MESSAGES/tutorial/build-a-2dsphere-index.po -source_file = locale/pot/tutorial/build-a-2dsphere-index.pot -source_lang = en - -[mongodb-manual.tutorial--perform-two-phase-commits] -file_filter = locale//LC_MESSAGES/tutorial/perform-two-phase-commits.po -source_file = locale/pot/tutorial/perform-two-phase-commits.pot -source_lang = en - -[mongodb-manual.tutorial--query-documents] -file_filter = locale//LC_MESSAGES/tutorial/query-documents.po -source_file = locale/pot/tutorial/query-documents.pot -source_lang = en - -[mongodb-manual.tutorial--add-shards-to-shard-cluster] -file_filter = locale//LC_MESSAGES/tutorial/add-shards-to-shard-cluster.po -source_file = locale/pot/tutorial/add-shards-to-shard-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--query-a-2dsphere-index] -file_filter = locale//LC_MESSAGES/tutorial/query-a-2dsphere-index.po -source_file = locale/pot/tutorial/query-a-2dsphere-index.pot -source_lang = en - -[mongodb-manual.tutorial--configure-auditing] -file_filter = locale//LC_MESSAGES/tutorial/configure-auditing.po -source_file = locale/pot/tutorial/configure-auditing.pot -source_lang = en - -[mongodb-manual.tutorial--analyze-query-plan] -file_filter = locale//LC_MESSAGES/tutorial/analyze-query-plan.po -source_file = locale/pot/tutorial/analyze-query-plan.pot -source_lang = en - -[mongodb-manual.tutorial--use-database-commands] -file_filter = locale//LC_MESSAGES/tutorial/use-database-commands.po -source_file = locale/pot/tutorial/use-database-commands.pot -source_lang = en - -[mongodb-manual.tutorial--manage-chained-replication] -file_filter = locale//LC_MESSAGES/tutorial/manage-chained-replication.po -source_file = locale/pot/tutorial/manage-chained-replication.pot -source_lang = en - -[mongodb-manual.tutorial--backup-sharded-cluster-with-filesystem-snapshots] -file_filter = locale//LC_MESSAGES/tutorial/backup-sharded-cluster-with-filesystem-snapshots.po -source_file = locale/pot/tutorial/backup-sharded-cluster-with-filesystem-snapshots.pot -source_lang = en - -[mongodb-manual.tutorial--create-a-vulnerability-report] -file_filter = locale//LC_MESSAGES/tutorial/create-a-vulnerability-report.po -source_file = locale/pot/tutorial/create-a-vulnerability-report.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures-with-ancestors-array] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures-with-ancestors-array.po -source_file = locale/pot/tutorial/model-tree-structures-with-ancestors-array.pot -source_lang = en - -[mongodb-manual.tutorial--modify-documents] -file_filter = locale//LC_MESSAGES/tutorial/modify-documents.po -source_file = locale/pot/tutorial/modify-documents.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-ubuntu] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-ubuntu.po -source_file = locale/pot/tutorial/install-mongodb-on-ubuntu.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures-with-materialized-paths] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures-with-materialized-paths.po -source_file = locale/pot/tutorial/model-tree-structures-with-materialized-paths.pot -source_lang = en - -[mongodb-manual.tutorial--control-access-to-mongodb-with-kerberos-authentication] -file_filter = locale//LC_MESSAGES/tutorial/control-access-to-mongodb-with-kerberos-authentication.po -source_file = locale/pot/tutorial/control-access-to-mongodb-with-kerberos-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures-with-nested-sets] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures-with-nested-sets.po -source_file = locale/pot/tutorial/model-tree-structures-with-nested-sets.pot -source_lang = en - -[mongodb-manual.tutorial--troubleshoot-reduce-function] -file_filter = locale//LC_MESSAGES/tutorial/troubleshoot-reduce-function.po -source_file = locale/pot/tutorial/troubleshoot-reduce-function.pot -source_lang = en - -[mongodb-manual.tutorial--getting-started-with-the-mongo-shell] -file_filter = locale//LC_MESSAGES/tutorial/getting-started-with-the-mongo-shell.po -source_file = locale/pot/tutorial/getting-started-with-the-mongo-shell.pot -source_lang = en - -[mongodb-manual.tutorial--model-referenced-one-to-many-relationships-between-documents] -file_filter = locale//LC_MESSAGES/tutorial/model-referenced-one-to-many-relationships-between-documents.po -source_file = locale/pot/tutorial/model-referenced-one-to-many-relationships-between-documents.pot -source_lang = en - -[mongodb-manual.tutorial--configure-windows-netsh-firewall] -file_filter = locale//LC_MESSAGES/tutorial/configure-windows-netsh-firewall.po -source_file = locale/pot/tutorial/configure-windows-netsh-firewall.pot -source_lang = en - -[mongodb-manual.tutorial--enforce-unique-keys-for-sharded-collections] -file_filter = locale//LC_MESSAGES/tutorial/enforce-unique-keys-for-sharded-collections.po -source_file = locale/pot/tutorial/enforce-unique-keys-for-sharded-collections.pot -source_lang = en - -[mongodb-manual.tutorial--reconfigure-replica-set-with-unavailable-members] -file_filter = locale//LC_MESSAGES/tutorial/reconfigure-replica-set-with-unavailable-members.po -source_file = locale/pot/tutorial/reconfigure-replica-set-with-unavailable-members.pot -source_lang = en - -[mongodb-manual.tutorial--upgrade-cluster-to-ssl] -file_filter = locale//LC_MESSAGES/tutorial/upgrade-cluster-to-ssl.po -source_file = locale/pot/tutorial/upgrade-cluster-to-ssl.pot -source_lang = en - -[mongodb-manual.tutorial--build-a-geohaystack-index] -file_filter = locale//LC_MESSAGES/tutorial/build-a-geohaystack-index.po -source_file = locale/pot/tutorial/build-a-geohaystack-index.pot -source_lang = en - -[mongodb-manual.tutorial--enable-authentication-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/enable-authentication-in-sharded-cluster.po -source_file = locale/pot/tutorial/enable-authentication-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--migrate-config-servers-with-different-hostnames] -file_filter = locale//LC_MESSAGES/tutorial/migrate-config-servers-with-different-hostnames.po -source_file = locale/pot/tutorial/migrate-config-servers-with-different-hostnames.pot -source_lang = en - -[mongodb-manual.tutorial--backup-sharded-cluster-metadata] -file_filter = locale//LC_MESSAGES/tutorial/backup-sharded-cluster-metadata.po -source_file = locale/pot/tutorial/backup-sharded-cluster-metadata.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures.po -source_file = locale/pot/tutorial/model-tree-structures.pot -source_lang = en - -[mongodb-manual.tutorial--create-a-sparse-index] -file_filter = locale//LC_MESSAGES/tutorial/create-a-sparse-index.po -source_file = locale/pot/tutorial/create-a-sparse-index.pot -source_lang = en - -[mongodb-manual.tutorial--access-mongo-shell-help] -file_filter = locale//LC_MESSAGES/tutorial/access-mongo-shell-help.po -source_file = locale/pot/tutorial/access-mongo-shell-help.pot -source_lang = en - -[mongodb-manual.tutorial--manage-journaling] -file_filter = locale//LC_MESSAGES/tutorial/manage-journaling.po -source_file = locale/pot/tutorial/manage-journaling.pot -source_lang = en - -[mongodb-manual.tutorial--manage-the-database-profiler] -file_filter = locale//LC_MESSAGES/tutorial/manage-the-database-profiler.po -source_file = locale/pot/tutorial/manage-the-database-profiler.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-geographically-distributed-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/deploy-geographically-distributed-replica-set.po -source_file = locale/pot/tutorial/deploy-geographically-distributed-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--list-indexes] -file_filter = locale//LC_MESSAGES/tutorial/list-indexes.po -source_file = locale/pot/tutorial/list-indexes.pot -source_lang = en - -[mongodb-manual.tutorial--change-oplog-size] -file_filter = locale//LC_MESSAGES/tutorial/change-oplog-size.po -source_file = locale/pot/tutorial/change-oplog-size.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-shard-cluster] -file_filter = locale//LC_MESSAGES/tutorial/deploy-shard-cluster.po -source_file = locale/pot/tutorial/deploy-shard-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-os-x] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-os-x.po -source_file = locale/pot/tutorial/install-mongodb-on-os-x.pot -source_lang = en - -[mongodb-manual.tutorial--shard-collection-with-a-hashed-shard-key] -file_filter = locale//LC_MESSAGES/tutorial/shard-collection-with-a-hashed-shard-key.po -source_file = locale/pot/tutorial/shard-collection-with-a-hashed-shard-key.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures-with-child-references] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures-with-child-references.po -source_file = locale/pot/tutorial/model-tree-structures-with-child-references.pot -source_lang = en - -[mongodb-manual.tutorial--merge-chunks-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/merge-chunks-in-sharded-cluster.po -source_file = locale/pot/tutorial/merge-chunks-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--optimize-query-performance-with-indexes-and-projections] -file_filter = locale//LC_MESSAGES/tutorial/optimize-query-performance-with-indexes-and-projections.po -source_file = locale/pot/tutorial/optimize-query-performance-with-indexes-and-projections.pot -source_lang = en - -[mongodb-manual.tutorial--write-scripts-for-the-mongo-shell] -file_filter = locale//LC_MESSAGES/tutorial/write-scripts-for-the-mongo-shell.po -source_file = locale/pot/tutorial/write-scripts-for-the-mongo-shell.pot -source_lang = en - -[mongodb-manual.tutorial--add-user-administrator] -file_filter = locale//LC_MESSAGES/tutorial/add-user-administrator.po -source_file = locale/pot/tutorial/add-user-administrator.pot -source_lang = en - -[mongodb-manual.tutorial--avoid-text-index-name-limit] -file_filter = locale//LC_MESSAGES/tutorial/avoid-text-index-name-limit.po -source_file = locale/pot/tutorial/avoid-text-index-name-limit.pot -source_lang = en - -[mongodb-manual.tutorial--sort-results-with-indexes] -file_filter = locale//LC_MESSAGES/tutorial/sort-results-with-indexes.po -source_file = locale/pot/tutorial/sort-results-with-indexes.pot -source_lang = en - -[mongodb-manual.tutorial--restore-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/restore-sharded-cluster.po -source_file = locale/pot/tutorial/restore-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--view-roles] -file_filter = locale//LC_MESSAGES/tutorial/view-roles.po -source_file = locale/pot/tutorial/view-roles.pot -source_lang = en - -[mongodb-manual.tutorial--choose-a-shard-key] -file_filter = locale//LC_MESSAGES/tutorial/choose-a-shard-key.po -source_file = locale/pot/tutorial/choose-a-shard-key.pot -source_lang = en - -[mongodb-manual.tutorial--build-a-2d-index] -file_filter = locale//LC_MESSAGES/tutorial/build-a-2d-index.po -source_file = locale/pot/tutorial/build-a-2d-index.pot -source_lang = en - -[mongodb-manual.tutorial--recover-data-following-unexpected-shutdown] -file_filter = locale//LC_MESSAGES/tutorial/recover-data-following-unexpected-shutdown.po -source_file = locale/pot/tutorial/recover-data-following-unexpected-shutdown.pot -source_lang = en - -[mongodb-manual.tutorial--evaluate-operation-performance] -file_filter = locale//LC_MESSAGES/tutorial/evaluate-operation-performance.po -source_file = locale/pot/tutorial/evaluate-operation-performance.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-windows] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-windows.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-windows.pot -source_lang = en - -[mongodb-manual.tutorial--generate-key-file] -file_filter = locale//LC_MESSAGES/tutorial/generate-key-file.po -source_file = locale/pot/tutorial/generate-key-file.pot -source_lang = en - -[mongodb-manual.tutorial--add-replica-set-arbiter] -file_filter = locale//LC_MESSAGES/tutorial/add-replica-set-arbiter.po -source_file = locale/pot/tutorial/add-replica-set-arbiter.pot -source_lang = en - -[mongodb-manual.tutorial--adjust-replica-set-member-priority] -file_filter = locale//LC_MESSAGES/tutorial/adjust-replica-set-member-priority.po -source_file = locale/pot/tutorial/adjust-replica-set-member-priority.pot -source_lang = en - -[mongodb-manual.tutorial--enable-text-search] -file_filter = locale//LC_MESSAGES/tutorial/enable-text-search.po -source_file = locale/pot/tutorial/enable-text-search.pot -source_lang = en - -[mongodb-manual.tutorial--expire-data] -file_filter = locale//LC_MESSAGES/tutorial/expire-data.po -source_file = locale/pot/tutorial/expire-data.pot -source_lang = en - -[mongodb-manual.tutorial--restore-single-shard] -file_filter = locale//LC_MESSAGES/tutorial/restore-single-shard.po -source_file = locale/pot/tutorial/restore-single-shard.pot -source_lang = en - -[mongodb-manual.tutorial--configure-replica-set-secondary-sync-target] -file_filter = locale//LC_MESSAGES/tutorial/configure-replica-set-secondary-sync-target.po -source_file = locale/pot/tutorial/configure-replica-set-secondary-sync-target.pot -source_lang = en - -[mongodb-manual.tutorial--change-hostnames-in-a-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/change-hostnames-in-a-replica-set.po -source_file = locale/pot/tutorial/change-hostnames-in-a-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--configure-secondary-only-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/configure-secondary-only-replica-set-member.po -source_file = locale/pot/tutorial/configure-secondary-only-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--configure-x509] -file_filter = locale//LC_MESSAGES/tutorial/configure-x509.po -source_file = locale/pot/tutorial/configure-x509.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/deploy-replica-set.po -source_file = locale/pot/tutorial/deploy-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--force-member-to-be-primary] -file_filter = locale//LC_MESSAGES/tutorial/force-member-to-be-primary.po -source_file = locale/pot/tutorial/force-member-to-be-primary.pot -source_lang = en - -[mongodb-manual.tutorial--configure-a-non-voting-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/configure-a-non-voting-replica-set-member.po -source_file = locale/pot/tutorial/configure-a-non-voting-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--schedule-backup-window-for-sharded-clusters] -file_filter = locale//LC_MESSAGES/tutorial/schedule-backup-window-for-sharded-clusters.po -source_file = locale/pot/tutorial/schedule-backup-window-for-sharded-clusters.pot -source_lang = en - -[mongodb-manual.tutorial--administer-shard-tags] -file_filter = locale//LC_MESSAGES/tutorial/administer-shard-tags.po -source_file = locale/pot/tutorial/administer-shard-tags.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-config-servers] -file_filter = locale//LC_MESSAGES/tutorial/deploy-config-servers.po -source_file = locale/pot/tutorial/deploy-config-servers.pot -source_lang = en - -[mongodb-manual.tutorial--measure-index-use] -file_filter = locale//LC_MESSAGES/tutorial/measure-index-use.po -source_file = locale/pot/tutorial/measure-index-use.pot -source_lang = en - -[mongodb-manual.tutorial--manage-sharded-cluster-balancer] -file_filter = locale//LC_MESSAGES/tutorial/manage-sharded-cluster-balancer.po -source_file = locale/pot/tutorial/manage-sharded-cluster-balancer.pot -source_lang = en - -[mongodb-manual.tutorial--troubleshoot-replica-sets] -file_filter = locale//LC_MESSAGES/tutorial/troubleshoot-replica-sets.po -source_file = locale/pot/tutorial/troubleshoot-replica-sets.pot -source_lang = en - -[mongodb-manual.tutorial--backup-small-sharded-cluster-with-mongodump] -file_filter = locale//LC_MESSAGES/tutorial/backup-small-sharded-cluster-with-mongodump.po -source_file = locale/pot/tutorial/backup-small-sharded-cluster-with-mongodump.pot -source_lang = en - -[mongodb-manual.tutorial--configure-ssl] -file_filter = locale//LC_MESSAGES/tutorial/configure-ssl.po -source_file = locale/pot/tutorial/configure-ssl.pot -source_lang = en - -[mongodb-manual.tutorial--troubleshoot-map-function] -file_filter = locale//LC_MESSAGES/tutorial/troubleshoot-map-function.po -source_file = locale/pot/tutorial/troubleshoot-map-function.pot -source_lang = en - -[mongodb-manual.tutorial--model-embedded-one-to-many-relationships-between-documents] -file_filter = locale//LC_MESSAGES/tutorial/model-embedded-one-to-many-relationships-between-documents.po -source_file = locale/pot/tutorial/model-embedded-one-to-many-relationships-between-documents.pot -source_lang = en - -[mongodb-manual.tutorial--enable-authentication] -file_filter = locale//LC_MESSAGES/tutorial/enable-authentication.po -source_file = locale/pot/tutorial/enable-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--aggregation-with-user-preference-data] -file_filter = locale//LC_MESSAGES/tutorial/aggregation-with-user-preference-data.po -source_file = locale/pot/tutorial/aggregation-with-user-preference-data.pot -source_lang = en - -[mongodb-manual.tutorial--build-indexes-on-replica-sets] -file_filter = locale//LC_MESSAGES/tutorial/build-indexes-on-replica-sets.po -source_file = locale/pot/tutorial/build-indexes-on-replica-sets.pot -source_lang = en - -[mongodb-manual.tutorial--limit-number-of-elements-in-updated-array] -file_filter = locale//LC_MESSAGES/tutorial/limit-number-of-elements-in-updated-array.po -source_file = locale/pot/tutorial/limit-number-of-elements-in-updated-array.pot -source_lang = en - -[mongodb-manual.tutorial--create-tailable-cursor] -file_filter = locale//LC_MESSAGES/tutorial/create-tailable-cursor.po -source_file = locale/pot/tutorial/create-tailable-cursor.pot -source_lang = en - -[mongodb-manual.tutorial--insert-documents] -file_filter = locale//LC_MESSAGES/tutorial/insert-documents.po -source_file = locale/pot/tutorial/insert-documents.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-debian] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-debian.po -source_file = locale/pot/tutorial/install-mongodb-on-debian.pot -source_lang = en - -[mongodb-manual.tutorial--terminate-running-operations] -file_filter = locale//LC_MESSAGES/tutorial/terminate-running-operations.po -source_file = locale/pot/tutorial/terminate-running-operations.pot -source_lang = en - -[mongodb-manual.tutorial--replace-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/replace-replica-set-member.po -source_file = locale/pot/tutorial/replace-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--rebuild-indexes] -file_filter = locale//LC_MESSAGES/tutorial/rebuild-indexes.po -source_file = locale/pot/tutorial/rebuild-indexes.pot -source_lang = en - -[mongodb-manual.tutorial--convert-secondary-into-arbiter] -file_filter = locale//LC_MESSAGES/tutorial/convert-secondary-into-arbiter.po -source_file = locale/pot/tutorial/convert-secondary-into-arbiter.pot -source_lang = en - -[mongodb-manual.tutorial--control-results-of-text-search] -file_filter = locale//LC_MESSAGES/tutorial/control-results-of-text-search.po -source_file = locale/pot/tutorial/control-results-of-text-search.pot -source_lang = en - -[mongodb-manual.tutorial--aggregation-zip-code-data-set] -file_filter = locale//LC_MESSAGES/tutorial/aggregation-zip-code-data-set.po -source_file = locale/pot/tutorial/aggregation-zip-code-data-set.pot -source_lang = en - -[mongodb-manual.tutorial--change-user-password] -file_filter = locale//LC_MESSAGES/tutorial/change-user-password.po -source_file = locale/pot/tutorial/change-user-password.pot -source_lang = en - -[mongodb-manual.tutorial--convert-standalone-to-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/convert-standalone-to-replica-set.po -source_file = locale/pot/tutorial/convert-standalone-to-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-red-hat-centos-or-fedora-linux] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux.po -source_file = locale/pot/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux.pot -source_lang = en - -[mongodb-manual.tutorial--configure-replica-set-tag-sets] -file_filter = locale//LC_MESSAGES/tutorial/configure-replica-set-tag-sets.po -source_file = locale/pot/tutorial/configure-replica-set-tag-sets.pot -source_lang = en - -[mongodb-manual.tutorial--remove-shards-from-cluster] -file_filter = locale//LC_MESSAGES/tutorial/remove-shards-from-cluster.po -source_file = locale/pot/tutorial/remove-shards-from-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--iterate-a-cursor] -file_filter = locale//LC_MESSAGES/tutorial/iterate-a-cursor.po -source_file = locale/pot/tutorial/iterate-a-cursor.pot -source_lang = en - -[mongodb-manual.tutorial--calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes] -file_filter = locale//LC_MESSAGES/tutorial/calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes.po -source_file = locale/pot/tutorial/calculate-distances-using-spherical-geometry-with-2d-geospatial-indexes.pot -source_lang = en - -[mongodb-manual.tutorial--remove-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/remove-replica-set-member.po -source_file = locale/pot/tutorial/remove-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--expand-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/expand-replica-set.po -source_file = locale/pot/tutorial/expand-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--resync-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/resync-replica-set-member.po -source_file = locale/pot/tutorial/resync-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--manage-in-progress-indexing-operations] -file_filter = locale//LC_MESSAGES/tutorial/manage-in-progress-indexing-operations.po -source_file = locale/pot/tutorial/manage-in-progress-indexing-operations.pot -source_lang = en - -[mongodb-manual.tutorial--rotate-log-files] -file_filter = locale//LC_MESSAGES/tutorial/rotate-log-files.po -source_file = locale/pot/tutorial/rotate-log-files.pot -source_lang = en - -[mongodb-manual.tutorial--migrate-chunks-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/migrate-chunks-in-sharded-cluster.po -source_file = locale/pot/tutorial/migrate-chunks-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--use-capped-collections-for-fast-writes-and-reads] -file_filter = locale//LC_MESSAGES/tutorial/use-capped-collections-for-fast-writes-and-reads.po -source_file = locale/pot/tutorial/use-capped-collections-for-fast-writes-and-reads.pot -source_lang = en - -[mongodb-manual.tutorial--model-tree-structures-with-parent-references] -file_filter = locale//LC_MESSAGES/tutorial/model-tree-structures-with-parent-references.po -source_file = locale/pot/tutorial/model-tree-structures-with-parent-references.pot -source_lang = en - -[mongodb-manual.tutorial--convert-sharded-cluster-to-replica-set] -file_filter = locale//LC_MESSAGES/tutorial/convert-sharded-cluster-to-replica-set.po -source_file = locale/pot/tutorial/convert-sharded-cluster-to-replica-set.pot -source_lang = en - -[mongodb-manual.tutorial--add-user-to-database] -file_filter = locale//LC_MESSAGES/tutorial/add-user-to-database.po -source_file = locale/pot/tutorial/add-user-to-database.pot -source_lang = en - -[mongodb-manual.tutorial--isolate-sequence-of-operations] -file_filter = locale//LC_MESSAGES/tutorial/isolate-sequence-of-operations.po -source_file = locale/pot/tutorial/isolate-sequence-of-operations.pot -source_lang = en - -[mongodb-manual.tutorial--configure-a-hidden-replica-set-member] -file_filter = locale//LC_MESSAGES/tutorial/configure-a-hidden-replica-set-member.po -source_file = locale/pot/tutorial/configure-a-hidden-replica-set-member.pot -source_lang = en - -[mongodb-manual.tutorial--migrate-sharded-cluster-to-new-hardware] -file_filter = locale//LC_MESSAGES/tutorial/migrate-sharded-cluster-to-new-hardware.po -source_file = locale/pot/tutorial/migrate-sharded-cluster-to-new-hardware.pot -source_lang = en - -[mongodb-manual.tutorial--model-data-for-keyword-search] -file_filter = locale//LC_MESSAGES/tutorial/model-data-for-keyword-search.po -source_file = locale/pot/tutorial/model-data-for-keyword-search.pot -source_lang = en - -[mongodb-manual.tutorial--backup-sharded-cluster-with-database-dumps] -file_filter = locale//LC_MESSAGES/tutorial/backup-sharded-cluster-with-database-dumps.po -source_file = locale/pot/tutorial/backup-sharded-cluster-with-database-dumps.pot -source_lang = en - -[mongodb-manual.tutorial--build-indexes-in-the-background] -file_filter = locale//LC_MESSAGES/tutorial/build-indexes-in-the-background.po -source_file = locale/pot/tutorial/build-indexes-in-the-background.pot -source_lang = en - -[mongodb-manual.tutorial--configure-ldap-sasl-authentication] -file_filter = locale//LC_MESSAGES/tutorial/configure-ldap-sasl-authentication.po -source_file = locale/pot/tutorial/configure-ldap-sasl-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--map-reduce-examples] -file_filter = locale//LC_MESSAGES/tutorial/map-reduce-examples.po -source_file = locale/pot/tutorial/map-reduce-examples.pot -source_lang = en - -[mongodb-manual.tutorial--troubleshoot-sharded-clusters] -file_filter = locale//LC_MESSAGES/tutorial/troubleshoot-sharded-clusters.po -source_file = locale/pot/tutorial/troubleshoot-sharded-clusters.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-replica-set-for-testing] -file_filter = locale//LC_MESSAGES/tutorial/deploy-replica-set-for-testing.po -source_file = locale/pot/tutorial/deploy-replica-set-for-testing.pot -source_lang = en - -[mongodb-manual.tutorial--restore-replica-set-from-backup] -file_filter = locale//LC_MESSAGES/tutorial/restore-replica-set-from-backup.po -source_file = locale/pot/tutorial/restore-replica-set-from-backup.pot -source_lang = en - -[mongodb-manual.tutorial--create-a-compound-index] -file_filter = locale//LC_MESSAGES/tutorial/create-a-compound-index.po -source_file = locale/pot/tutorial/create-a-compound-index.pot -source_lang = en - -[mongodb-manual.tutorial--getting-started] -file_filter = locale//LC_MESSAGES/tutorial/getting-started.po -source_file = locale/pot/tutorial/getting-started.pot -source_lang = en - -[mongodb-manual.tutorial--create-chunks-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/create-chunks-in-sharded-cluster.po -source_file = locale/pot/tutorial/create-chunks-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--project-fields-from-query-results] -file_filter = locale//LC_MESSAGES/tutorial/project-fields-from-query-results.po -source_file = locale/pot/tutorial/project-fields-from-query-results.pot -source_lang = en - -[mongodb-manual.tutorial--create-a-unique-index] -file_filter = locale//LC_MESSAGES/tutorial/create-a-unique-index.po -source_file = locale/pot/tutorial/create-a-unique-index.pot -source_lang = en - -[mongodb-manual.tutorial--store-javascript-function-on-server] -file_filter = locale//LC_MESSAGES/tutorial/store-javascript-function-on-server.po -source_file = locale/pot/tutorial/store-javascript-function-on-server.pot -source_lang = en - -[mongodb-manual.tutorial--change-user-privileges] -file_filter = locale//LC_MESSAGES/tutorial/change-user-privileges.po -source_file = locale/pot/tutorial/change-user-privileges.pot -source_lang = en - -[mongodb-manual.tutorial--remove-indexes] -file_filter = locale//LC_MESSAGES/tutorial/remove-indexes.po -source_file = locale/pot/tutorial/remove-indexes.pot -source_lang = en - -[mongodb-manual.tutorial--model-embedded-one-to-one-relationships-between-documents] -file_filter = locale//LC_MESSAGES/tutorial/model-embedded-one-to-one-relationships-between-documents.po -source_file = locale/pot/tutorial/model-embedded-one-to-one-relationships-between-documents.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-on-windows] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-on-windows.po -source_file = locale/pot/tutorial/install-mongodb-on-windows.pot -source_lang = en - -[mongodb-manual.tutorial--perform-incremental-map-reduce] -file_filter = locale//LC_MESSAGES/tutorial/perform-incremental-map-reduce.po -source_file = locale/pot/tutorial/perform-incremental-map-reduce.pot -source_lang = en - -[mongodb-manual.tutorial--specify-language-for-text-index] -file_filter = locale//LC_MESSAGES/tutorial/specify-language-for-text-index.po -source_file = locale/pot/tutorial/specify-language-for-text-index.pot -source_lang = en - -[mongodb-manual.tutorial--modify-chunk-size-in-sharded-cluster] -file_filter = locale//LC_MESSAGES/tutorial/modify-chunk-size-in-sharded-cluster.po -source_file = locale/pot/tutorial/modify-chunk-size-in-sharded-cluster.pot -source_lang = en - -[mongodb-manual.tutorial--create-queries-that-ensure-selectivity] -file_filter = locale//LC_MESSAGES/tutorial/create-queries-that-ensure-selectivity.po -source_file = locale/pot/tutorial/create-queries-that-ensure-selectivity.pot -source_lang = en - -[mongodb-manual.tutorial--query-a-2d-index] -file_filter = locale//LC_MESSAGES/tutorial/query-a-2d-index.po -source_file = locale/pot/tutorial/query-a-2d-index.pot -source_lang = en - -[mongodb-manual.meta--administration] -file_filter = locale//LC_MESSAGES/meta/administration.po -source_file = locale/pot/meta/administration.pot -source_lang = en - -[mongodb-manual.meta--404] -file_filter = locale//LC_MESSAGES/meta/404.po -source_file = locale/pot/meta/404.pot -source_lang = en - -[mongodb-manual.meta--translation] -file_filter = locale//LC_MESSAGES/meta/translation.po -source_file = locale/pot/meta/translation.pot -source_lang = en - -[mongodb-manual.meta--style-guide] -file_filter = locale//LC_MESSAGES/meta/style-guide.po -source_file = locale/pot/meta/style-guide.pot -source_lang = en - -[mongodb-manual.meta--reference] -file_filter = locale//LC_MESSAGES/meta/reference.po -source_file = locale/pot/meta/reference.pot -source_lang = en - -[mongodb-manual.meta--410] -file_filter = locale//LC_MESSAGES/meta/410.po -source_file = locale/pot/meta/410.pot -source_lang = en - -[mongodb-manual.meta--403] -file_filter = locale//LC_MESSAGES/meta/403.po -source_file = locale/pot/meta/403.pot -source_lang = en - -[mongodb-manual.meta--practices] -file_filter = locale//LC_MESSAGES/meta/practices.po -source_file = locale/pot/meta/practices.pot -source_lang = en - -[mongodb-manual.meta--build] -file_filter = locale//LC_MESSAGES/meta/build.po -source_file = locale/pot/meta/build.pot -source_lang = en - -[mongodb-manual.meta--manual] -file_filter = locale//LC_MESSAGES/meta/manual.po -source_file = locale/pot/meta/manual.pot -source_lang = en - -[mongodb-manual.meta--401] -file_filter = locale//LC_MESSAGES/meta/401.po -source_file = locale/pot/meta/401.pot -source_lang = en - -[mongodb-manual.meta--organization] -file_filter = locale//LC_MESSAGES/meta/organization.po -source_file = locale/pot/meta/organization.pot -source_lang = en - -[mongodb-manual.reference--default-mongodb-port] -file_filter = locale//LC_MESSAGES/reference/default-mongodb-port.po -source_file = locale/pot/reference/default-mongodb-port.pot -source_lang = en - -[mongodb-manual.reference--limits] -file_filter = locale//LC_MESSAGES/reference/limits.po -source_file = locale/pot/reference/limits.pot -source_lang = en - -[mongodb-manual.reference--configuration-options] -file_filter = locale//LC_MESSAGES/reference/configuration-options.po -source_file = locale/pot/reference/configuration-options.pot -source_lang = en - -[mongodb-manual.reference--replica-states] -file_filter = locale//LC_MESSAGES/reference/replica-states.po -source_file = locale/pot/reference/replica-states.pot -source_lang = en - -[mongodb-manual.reference--local-database] -file_filter = locale//LC_MESSAGES/reference/local-database.po -source_file = locale/pot/reference/local-database.pot -source_lang = en - -[mongodb-manual.reference--gridfs] -file_filter = locale//LC_MESSAGES/reference/gridfs.po -source_file = locale/pot/reference/gridfs.pot -source_lang = en - -[mongodb-manual.reference--resource-document] -file_filter = locale//LC_MESSAGES/reference/resource-document.po -source_file = locale/pot/reference/resource-document.pot -source_lang = en - -[mongodb-manual.reference--operator] -file_filter = locale//LC_MESSAGES/reference/operator.po -source_file = locale/pot/reference/operator.pot -source_lang = en - -[mongodb-manual.reference--sql-aggregation-comparison] -file_filter = locale//LC_MESSAGES/reference/sql-aggregation-comparison.po -source_file = locale/pot/reference/sql-aggregation-comparison.pot -source_lang = en - -[mongodb-manual.reference--database-references] -file_filter = locale//LC_MESSAGES/reference/database-references.po -source_file = locale/pot/reference/database-references.pot -source_lang = en - -[mongodb-manual.reference--administration] -file_filter = locale//LC_MESSAGES/reference/administration.po -source_file = locale/pot/reference/administration.pot -source_lang = en - -[mongodb-manual.reference--indexes] -file_filter = locale//LC_MESSAGES/reference/indexes.po -source_file = locale/pot/reference/indexes.pot -source_lang = en - -[mongodb-manual.reference--parameters] -file_filter = locale//LC_MESSAGES/reference/parameters.po -source_file = locale/pot/reference/parameters.pot -source_lang = en - -[mongodb-manual.reference--exit-codes] -file_filter = locale//LC_MESSAGES/reference/exit-codes.po -source_file = locale/pot/reference/exit-codes.pot -source_lang = en - -[mongodb-manual.reference--sql-comparison] -file_filter = locale//LC_MESSAGES/reference/sql-comparison.po -source_file = locale/pot/reference/sql-comparison.pot -source_lang = en - -[mongodb-manual.reference--replica-configuration] -file_filter = locale//LC_MESSAGES/reference/replica-configuration.po -source_file = locale/pot/reference/replica-configuration.pot -source_lang = en - -[mongodb-manual.reference--object-id] -file_filter = locale//LC_MESSAGES/reference/object-id.po -source_file = locale/pot/reference/object-id.pot -source_lang = en - -[mongodb-manual.reference--bson-types] -file_filter = locale//LC_MESSAGES/reference/bson-types.po -source_file = locale/pot/reference/bson-types.pot -source_lang = en - -[mongodb-manual.reference--security] -file_filter = locale//LC_MESSAGES/reference/security.po -source_file = locale/pot/reference/security.pot -source_lang = en - -[mongodb-manual.reference--system-roles-collection] -file_filter = locale//LC_MESSAGES/reference/system-roles-collection.po -source_file = locale/pot/reference/system-roles-collection.pot -source_lang = en - -[mongodb-manual.reference--bios-example-collection] -file_filter = locale//LC_MESSAGES/reference/bios-example-collection.po -source_file = locale/pot/reference/bios-example-collection.pot -source_lang = en - -[mongodb-manual.reference--privilege-actions] -file_filter = locale//LC_MESSAGES/reference/privilege-actions.po -source_file = locale/pot/reference/privilege-actions.pot -source_lang = en - -[mongodb-manual.reference--glossary] -file_filter = locale//LC_MESSAGES/reference/glossary.po -source_file = locale/pot/reference/glossary.pot -source_lang = en - -[mongodb-manual.reference--connection-string] -file_filter = locale//LC_MESSAGES/reference/connection-string.po -source_file = locale/pot/reference/connection-string.pot -source_lang = en - -[mongodb-manual.reference--system-users-collection] -file_filter = locale//LC_MESSAGES/reference/system-users-collection.po -source_file = locale/pot/reference/system-users-collection.pot -source_lang = en - -[mongodb-manual.reference--system-collections] -file_filter = locale//LC_MESSAGES/reference/system-collections.po -source_file = locale/pot/reference/system-collections.pot -source_lang = en - -[mongodb-manual.reference--config-database] -file_filter = locale//LC_MESSAGES/reference/config-database.po -source_file = locale/pot/reference/config-database.pot -source_lang = en - -[mongodb-manual.reference--database-profiler] -file_filter = locale//LC_MESSAGES/reference/database-profiler.po -source_file = locale/pot/reference/database-profiler.pot -source_lang = en - -[mongodb-manual.reference--privilege-documents] -file_filter = locale//LC_MESSAGES/reference/privilege-documents.po -source_file = locale/pot/reference/privilege-documents.pot -source_lang = en - -[mongodb-manual.reference--read-preference] -file_filter = locale//LC_MESSAGES/reference/read-preference.po -source_file = locale/pot/reference/read-preference.pot -source_lang = en - -[mongodb-manual.reference--mongo-shell] -file_filter = locale//LC_MESSAGES/reference/mongo-shell.po -source_file = locale/pot/reference/mongo-shell.pot -source_lang = en - -[mongodb-manual.reference--sharding] -file_filter = locale//LC_MESSAGES/reference/sharding.po -source_file = locale/pot/reference/sharding.pot -source_lang = en - -[mongodb-manual.reference--crud] -file_filter = locale//LC_MESSAGES/reference/crud.po -source_file = locale/pot/reference/crud.pot -source_lang = en - -[mongodb-manual.reference--write-concern] -file_filter = locale//LC_MESSAGES/reference/write-concern.po -source_file = locale/pot/reference/write-concern.pot -source_lang = en - -[mongodb-manual.reference--mongodb-extended-json] -file_filter = locale//LC_MESSAGES/reference/mongodb-extended-json.po -source_file = locale/pot/reference/mongodb-extended-json.pot -source_lang = en - -[mongodb-manual.reference--ulimit] -file_filter = locale//LC_MESSAGES/reference/ulimit.po -source_file = locale/pot/reference/ulimit.pot -source_lang = en - -[mongodb-manual.reference--command] -file_filter = locale//LC_MESSAGES/reference/command.po -source_file = locale/pot/reference/command.pot -source_lang = en - -[mongodb-manual.reference--program] -file_filter = locale//LC_MESSAGES/reference/program.po -source_file = locale/pot/reference/program.pot -source_lang = en - -[mongodb-manual.reference--data-models] -file_filter = locale//LC_MESSAGES/reference/data-models.po -source_file = locale/pot/reference/data-models.pot -source_lang = en - -[mongodb-manual.reference--replication] -file_filter = locale//LC_MESSAGES/reference/replication.po -source_file = locale/pot/reference/replication.pot -source_lang = en - -[mongodb-manual.reference--aggregation-commands-comparison] -file_filter = locale//LC_MESSAGES/reference/aggregation-commands-comparison.po -source_file = locale/pot/reference/aggregation-commands-comparison.pot -source_lang = en - -[mongodb-manual.reference--aggregation] -file_filter = locale//LC_MESSAGES/reference/aggregation.po -source_file = locale/pot/reference/aggregation.pot -source_lang = en - -[mongodb-manual.reference--server-status] -file_filter = locale//LC_MESSAGES/reference/server-status.po -source_file = locale/pot/reference/server-status.pot -source_lang = en - -[mongodb-manual.reference--method] -file_filter = locale//LC_MESSAGES/reference/method.po -source_file = locale/pot/reference/method.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-comparison] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-comparison.po -source_file = locale/pot/reference/operator/aggregation-comparison.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-arithmetic] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-arithmetic.po -source_file = locale/pot/reference/operator/aggregation-arithmetic.pot -source_lang = en - -[mongodb-manual.reference--operator--query-modifier] -file_filter = locale//LC_MESSAGES/reference/operator/query-modifier.po -source_file = locale/pot/reference/operator/query-modifier.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-string] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-string.po -source_file = locale/pot/reference/operator/aggregation-string.pot -source_lang = en - -[mongodb-manual.reference--operator--query] -file_filter = locale//LC_MESSAGES/reference/operator/query.po -source_file = locale/pot/reference/operator/query.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-pipeline] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-pipeline.po -source_file = locale/pot/reference/operator/aggregation-pipeline.pot -source_lang = en - -[mongodb-manual.reference--operator--update] -file_filter = locale//LC_MESSAGES/reference/operator/update.po -source_file = locale/pot/reference/operator/update.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-set] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-set.po -source_file = locale/pot/reference/operator/aggregation-set.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-group] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-group.po -source_file = locale/pot/reference/operator/aggregation-group.pot -source_lang = en - -[mongodb-manual.reference--operator--update-field] -file_filter = locale//LC_MESSAGES/reference/operator/update-field.po -source_file = locale/pot/reference/operator/update-field.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-date] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-date.po -source_file = locale/pot/reference/operator/aggregation-date.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-projection] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-projection.po -source_file = locale/pot/reference/operator/aggregation-projection.pot -source_lang = en - -[mongodb-manual.reference--operator--projection] -file_filter = locale//LC_MESSAGES/reference/operator/projection.po -source_file = locale/pot/reference/operator/projection.pot -source_lang = en - -[mongodb-manual.reference--operator--query-comparison] -file_filter = locale//LC_MESSAGES/reference/operator/query-comparison.po -source_file = locale/pot/reference/operator/query-comparison.pot -source_lang = en - -[mongodb-manual.reference--operator--query-array] -file_filter = locale//LC_MESSAGES/reference/operator/query-array.po -source_file = locale/pot/reference/operator/query-array.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-boolean] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-boolean.po -source_file = locale/pot/reference/operator/aggregation-boolean.pot -source_lang = en - -[mongodb-manual.reference--operator--query-element] -file_filter = locale//LC_MESSAGES/reference/operator/query-element.po -source_file = locale/pot/reference/operator/query-element.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-conditional] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-conditional.po -source_file = locale/pot/reference/operator/aggregation-conditional.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-array] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-array.po -source_file = locale/pot/reference/operator/aggregation-array.pot -source_lang = en - -[mongodb-manual.reference--operator--update-array] -file_filter = locale//LC_MESSAGES/reference/operator/update-array.po -source_file = locale/pot/reference/operator/update-array.pot -source_lang = en - -[mongodb-manual.reference--operator--query-geospatial] -file_filter = locale//LC_MESSAGES/reference/operator/query-geospatial.po -source_file = locale/pot/reference/operator/query-geospatial.pot -source_lang = en - -[mongodb-manual.reference--operator--update-bitwise] -file_filter = locale//LC_MESSAGES/reference/operator/update-bitwise.po -source_file = locale/pot/reference/operator/update-bitwise.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation.po -source_file = locale/pot/reference/operator/aggregation.pot -source_lang = en - -[mongodb-manual.reference--operator--update-isolation] -file_filter = locale//LC_MESSAGES/reference/operator/update-isolation.po -source_file = locale/pot/reference/operator/update-isolation.pot -source_lang = en - -[mongodb-manual.reference--operator--query-logical] -file_filter = locale//LC_MESSAGES/reference/operator/query-logical.po -source_file = locale/pot/reference/operator/query-logical.pot -source_lang = en - -[mongodb-manual.reference--operator--query-evaluation] -file_filter = locale//LC_MESSAGES/reference/operator/query-evaluation.po -source_file = locale/pot/reference/operator/query-evaluation.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--eq] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/eq.po -source_file = locale/pot/reference/operator/aggregation/eq.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--millisecond] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/millisecond.po -source_file = locale/pot/reference/operator/aggregation/millisecond.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--setDifference] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/setDifference.po -source_file = locale/pot/reference/operator/aggregation/setDifference.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--strcasecmp] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/strcasecmp.po -source_file = locale/pot/reference/operator/aggregation/strcasecmp.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--multiply] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/multiply.po -source_file = locale/pot/reference/operator/aggregation/multiply.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--or] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/or.po -source_file = locale/pot/reference/operator/aggregation/or.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--sort] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/sort.po -source_file = locale/pot/reference/operator/aggregation/sort.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--substr] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/substr.po -source_file = locale/pot/reference/operator/aggregation/substr.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--allElementsTrue] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/allElementsTrue.po -source_file = locale/pot/reference/operator/aggregation/allElementsTrue.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--literal] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/literal.po -source_file = locale/pot/reference/operator/aggregation/literal.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--group] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/group.po -source_file = locale/pot/reference/operator/aggregation/group.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--project] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/project.po -source_file = locale/pot/reference/operator/aggregation/project.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--match] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/match.po -source_file = locale/pot/reference/operator/aggregation/match.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--sum] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/sum.po -source_file = locale/pot/reference/operator/aggregation/sum.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--divide] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/divide.po -source_file = locale/pot/reference/operator/aggregation/divide.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--minute] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/minute.po -source_file = locale/pot/reference/operator/aggregation/minute.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--year] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/year.po -source_file = locale/pot/reference/operator/aggregation/year.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--week] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/week.po -source_file = locale/pot/reference/operator/aggregation/week.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--let] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/let.po -source_file = locale/pot/reference/operator/aggregation/let.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--geoNear] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/geoNear.po -source_file = locale/pot/reference/operator/aggregation/geoNear.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--dayOfWeek] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/dayOfWeek.po -source_file = locale/pot/reference/operator/aggregation/dayOfWeek.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--dayOfMonth] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/dayOfMonth.po -source_file = locale/pot/reference/operator/aggregation/dayOfMonth.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--setIntersection] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/setIntersection.po -source_file = locale/pot/reference/operator/aggregation/setIntersection.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--avg] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/avg.po -source_file = locale/pot/reference/operator/aggregation/avg.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--last] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/last.po -source_file = locale/pot/reference/operator/aggregation/last.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--hour] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/hour.po -source_file = locale/pot/reference/operator/aggregation/hour.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--push] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/push.po -source_file = locale/pot/reference/operator/aggregation/push.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--add] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/add.po -source_file = locale/pot/reference/operator/aggregation/add.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--cond] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/cond.po -source_file = locale/pot/reference/operator/aggregation/cond.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--addToSet] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/addToSet.po -source_file = locale/pot/reference/operator/aggregation/addToSet.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--skip] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/skip.po -source_file = locale/pot/reference/operator/aggregation/skip.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--month] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/month.po -source_file = locale/pot/reference/operator/aggregation/month.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--limit] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/limit.po -source_file = locale/pot/reference/operator/aggregation/limit.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--interface] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/interface.po -source_file = locale/pot/reference/operator/aggregation/interface.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--setIsSubset] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/setIsSubset.po -source_file = locale/pot/reference/operator/aggregation/setIsSubset.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--ifNull] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/ifNull.po -source_file = locale/pot/reference/operator/aggregation/ifNull.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--max] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/max.po -source_file = locale/pot/reference/operator/aggregation/max.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--dayOfYear] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/dayOfYear.po -source_file = locale/pot/reference/operator/aggregation/dayOfYear.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--anyElementTrue] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/anyElementTrue.po -source_file = locale/pot/reference/operator/aggregation/anyElementTrue.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--gt] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/gt.po -source_file = locale/pot/reference/operator/aggregation/gt.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--concat] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/concat.po -source_file = locale/pot/reference/operator/aggregation/concat.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--second] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/second.po -source_file = locale/pot/reference/operator/aggregation/second.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--out] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/out.po -source_file = locale/pot/reference/operator/aggregation/out.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--mod] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/mod.po -source_file = locale/pot/reference/operator/aggregation/mod.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--map] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/map.po -source_file = locale/pot/reference/operator/aggregation/map.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--ne] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/ne.po -source_file = locale/pot/reference/operator/aggregation/ne.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--unwind] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/unwind.po -source_file = locale/pot/reference/operator/aggregation/unwind.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--lt] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/lt.po -source_file = locale/pot/reference/operator/aggregation/lt.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--cmp] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/cmp.po -source_file = locale/pot/reference/operator/aggregation/cmp.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--gte] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/gte.po -source_file = locale/pot/reference/operator/aggregation/gte.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--redact] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/redact.po -source_file = locale/pot/reference/operator/aggregation/redact.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--toLower] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/toLower.po -source_file = locale/pot/reference/operator/aggregation/toLower.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--and] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/and.po -source_file = locale/pot/reference/operator/aggregation/and.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--first] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/first.po -source_file = locale/pot/reference/operator/aggregation/first.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--size] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/size.po -source_file = locale/pot/reference/operator/aggregation/size.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--lte] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/lte.po -source_file = locale/pot/reference/operator/aggregation/lte.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--not] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/not.po -source_file = locale/pot/reference/operator/aggregation/not.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--subtract] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/subtract.po -source_file = locale/pot/reference/operator/aggregation/subtract.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--min] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/min.po -source_file = locale/pot/reference/operator/aggregation/min.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--setUnion] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/setUnion.po -source_file = locale/pot/reference/operator/aggregation/setUnion.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--setEquals] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/setEquals.po -source_file = locale/pot/reference/operator/aggregation/setEquals.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--toUpper] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/toUpper.po -source_file = locale/pot/reference/operator/aggregation/toUpper.pot -source_lang = en - -[mongodb-manual.reference--operator--update--sort] -file_filter = locale//LC_MESSAGES/reference/operator/update/sort.po -source_file = locale/pot/reference/operator/update/sort.pot -source_lang = en - -[mongodb-manual.reference--operator--update--inc] -file_filter = locale//LC_MESSAGES/reference/operator/update/inc.po -source_file = locale/pot/reference/operator/update/inc.pot -source_lang = en - -[mongodb-manual.reference--operator--update--pop] -file_filter = locale//LC_MESSAGES/reference/operator/update/pop.po -source_file = locale/pot/reference/operator/update/pop.pot -source_lang = en - -[mongodb-manual.reference--operator--update--slice] -file_filter = locale//LC_MESSAGES/reference/operator/update/slice.po -source_file = locale/pot/reference/operator/update/slice.pot -source_lang = en - -[mongodb-manual.reference--operator--update--pushAll] -file_filter = locale//LC_MESSAGES/reference/operator/update/pushAll.po -source_file = locale/pot/reference/operator/update/pushAll.pot -source_lang = en - -[mongodb-manual.reference--operator--update--setOnInsert] -file_filter = locale//LC_MESSAGES/reference/operator/update/setOnInsert.po -source_file = locale/pot/reference/operator/update/setOnInsert.pot -source_lang = en - -[mongodb-manual.reference--operator--update--push] -file_filter = locale//LC_MESSAGES/reference/operator/update/push.po -source_file = locale/pot/reference/operator/update/push.pot -source_lang = en - -[mongodb-manual.reference--operator--update--positional] -file_filter = locale//LC_MESSAGES/reference/operator/update/positional.po -source_file = locale/pot/reference/operator/update/positional.pot -source_lang = en - -[mongodb-manual.reference--operator--update--addToSet] -file_filter = locale//LC_MESSAGES/reference/operator/update/addToSet.po -source_file = locale/pot/reference/operator/update/addToSet.pot -source_lang = en - -[mongodb-manual.reference--operator--update--each] -file_filter = locale//LC_MESSAGES/reference/operator/update/each.po -source_file = locale/pot/reference/operator/update/each.pot -source_lang = en - -[mongodb-manual.reference--operator--update--currentDate] -file_filter = locale//LC_MESSAGES/reference/operator/update/currentDate.po -source_file = locale/pot/reference/operator/update/currentDate.pot -source_lang = en - -[mongodb-manual.reference--operator--update--pullAll] -file_filter = locale//LC_MESSAGES/reference/operator/update/pullAll.po -source_file = locale/pot/reference/operator/update/pullAll.pot -source_lang = en - -[mongodb-manual.reference--operator--update--unset] -file_filter = locale//LC_MESSAGES/reference/operator/update/unset.po -source_file = locale/pot/reference/operator/update/unset.pot -source_lang = en - -[mongodb-manual.reference--operator--update--max] -file_filter = locale//LC_MESSAGES/reference/operator/update/max.po -source_file = locale/pot/reference/operator/update/max.pot -source_lang = en - -[mongodb-manual.reference--operator--update--bit] -file_filter = locale//LC_MESSAGES/reference/operator/update/bit.po -source_file = locale/pot/reference/operator/update/bit.pot -source_lang = en - -[mongodb-manual.reference--operator--update--set] -file_filter = locale//LC_MESSAGES/reference/operator/update/set.po -source_file = locale/pot/reference/operator/update/set.pot -source_lang = en - -[mongodb-manual.reference--operator--update--isolated] -file_filter = locale//LC_MESSAGES/reference/operator/update/isolated.po -source_file = locale/pot/reference/operator/update/isolated.pot -source_lang = en - -[mongodb-manual.reference--operator--update--position] -file_filter = locale//LC_MESSAGES/reference/operator/update/position.po -source_file = locale/pot/reference/operator/update/position.pot -source_lang = en - -[mongodb-manual.reference--operator--update--mul] -file_filter = locale//LC_MESSAGES/reference/operator/update/mul.po -source_file = locale/pot/reference/operator/update/mul.pot -source_lang = en - -[mongodb-manual.reference--operator--update--rename] -file_filter = locale//LC_MESSAGES/reference/operator/update/rename.po -source_file = locale/pot/reference/operator/update/rename.pot -source_lang = en - -[mongodb-manual.reference--operator--update--pull] -file_filter = locale//LC_MESSAGES/reference/operator/update/pull.po -source_file = locale/pot/reference/operator/update/pull.pot -source_lang = en - -[mongodb-manual.reference--operator--update--min] -file_filter = locale//LC_MESSAGES/reference/operator/update/min.po -source_file = locale/pot/reference/operator/update/min.pot -source_lang = en - -[mongodb-manual.reference--operator--query--or] -file_filter = locale//LC_MESSAGES/reference/operator/query/or.po -source_file = locale/pot/reference/operator/query/or.pot -source_lang = en - -[mongodb-manual.reference--operator--query--where] -file_filter = locale//LC_MESSAGES/reference/operator/query/where.po -source_file = locale/pot/reference/operator/query/where.pot -source_lang = en - -[mongodb-manual.reference--operator--query--center] -file_filter = locale//LC_MESSAGES/reference/operator/query/center.po -source_file = locale/pot/reference/operator/query/center.pot -source_lang = en - -[mongodb-manual.reference--operator--query--in] -file_filter = locale//LC_MESSAGES/reference/operator/query/in.po -source_file = locale/pot/reference/operator/query/in.pot -source_lang = en - -[mongodb-manual.reference--operator--query--geoIntersects] -file_filter = locale//LC_MESSAGES/reference/operator/query/geoIntersects.po -source_file = locale/pot/reference/operator/query/geoIntersects.pot -source_lang = en - -[mongodb-manual.reference--operator--query--geoWithin] -file_filter = locale//LC_MESSAGES/reference/operator/query/geoWithin.po -source_file = locale/pot/reference/operator/query/geoWithin.pot -source_lang = en - -[mongodb-manual.reference--operator--query--all] -file_filter = locale//LC_MESSAGES/reference/operator/query/all.po -source_file = locale/pot/reference/operator/query/all.pot -source_lang = en - -[mongodb-manual.reference--operator--query--centerSphere] -file_filter = locale//LC_MESSAGES/reference/operator/query/centerSphere.po -source_file = locale/pot/reference/operator/query/centerSphere.pot -source_lang = en - -[mongodb-manual.reference--operator--query--nin] -file_filter = locale//LC_MESSAGES/reference/operator/query/nin.po -source_file = locale/pot/reference/operator/query/nin.pot -source_lang = en - -[mongodb-manual.reference--operator--query--nor] -file_filter = locale//LC_MESSAGES/reference/operator/query/nor.po -source_file = locale/pot/reference/operator/query/nor.pot -source_lang = en - -[mongodb-manual.reference--operator--query--polygon] -file_filter = locale//LC_MESSAGES/reference/operator/query/polygon.po -source_file = locale/pot/reference/operator/query/polygon.pot -source_lang = en - -[mongodb-manual.reference--operator--query--exists] -file_filter = locale//LC_MESSAGES/reference/operator/query/exists.po -source_file = locale/pot/reference/operator/query/exists.pot -source_lang = en - -[mongodb-manual.reference--operator--query--gt] -file_filter = locale//LC_MESSAGES/reference/operator/query/gt.po -source_file = locale/pot/reference/operator/query/gt.pot -source_lang = en - -[mongodb-manual.reference--operator--query--geometry] -file_filter = locale//LC_MESSAGES/reference/operator/query/geometry.po -source_file = locale/pot/reference/operator/query/geometry.pot -source_lang = en - -[mongodb-manual.reference--operator--query--uniqueDocs] -file_filter = locale//LC_MESSAGES/reference/operator/query/uniqueDocs.po -source_file = locale/pot/reference/operator/query/uniqueDocs.pot -source_lang = en - -[mongodb-manual.reference--operator--query--mod] -file_filter = locale//LC_MESSAGES/reference/operator/query/mod.po -source_file = locale/pot/reference/operator/query/mod.pot -source_lang = en - -[mongodb-manual.reference--operator--query--regex] -file_filter = locale//LC_MESSAGES/reference/operator/query/regex.po -source_file = locale/pot/reference/operator/query/regex.pot -source_lang = en - -[mongodb-manual.reference--operator--query--near] -file_filter = locale//LC_MESSAGES/reference/operator/query/near.po -source_file = locale/pot/reference/operator/query/near.pot -source_lang = en - -[mongodb-manual.reference--operator--query--ne] -file_filter = locale//LC_MESSAGES/reference/operator/query/ne.po -source_file = locale/pot/reference/operator/query/ne.pot -source_lang = en - -[mongodb-manual.reference--operator--query--maxDistance] -file_filter = locale//LC_MESSAGES/reference/operator/query/maxDistance.po -source_file = locale/pot/reference/operator/query/maxDistance.pot -source_lang = en - -[mongodb-manual.reference--operator--query--lt] -file_filter = locale//LC_MESSAGES/reference/operator/query/lt.po -source_file = locale/pot/reference/operator/query/lt.pot -source_lang = en - -[mongodb-manual.reference--operator--query--gte] -file_filter = locale//LC_MESSAGES/reference/operator/query/gte.po -source_file = locale/pot/reference/operator/query/gte.pot -source_lang = en - -[mongodb-manual.reference--operator--query--box] -file_filter = locale//LC_MESSAGES/reference/operator/query/box.po -source_file = locale/pot/reference/operator/query/box.pot -source_lang = en - -[mongodb-manual.reference--operator--query--nearSphere] -file_filter = locale//LC_MESSAGES/reference/operator/query/nearSphere.po -source_file = locale/pot/reference/operator/query/nearSphere.pot -source_lang = en - -[mongodb-manual.reference--operator--query--type] -file_filter = locale//LC_MESSAGES/reference/operator/query/type.po -source_file = locale/pot/reference/operator/query/type.pot -source_lang = en - -[mongodb-manual.reference--operator--query--and] -file_filter = locale//LC_MESSAGES/reference/operator/query/and.po -source_file = locale/pot/reference/operator/query/and.pot -source_lang = en - -[mongodb-manual.reference--operator--query--elemMatch] -file_filter = locale//LC_MESSAGES/reference/operator/query/elemMatch.po -source_file = locale/pot/reference/operator/query/elemMatch.pot -source_lang = en - -[mongodb-manual.reference--operator--query--size] -file_filter = locale//LC_MESSAGES/reference/operator/query/size.po -source_file = locale/pot/reference/operator/query/size.pot -source_lang = en - -[mongodb-manual.reference--operator--query--lte] -file_filter = locale//LC_MESSAGES/reference/operator/query/lte.po -source_file = locale/pot/reference/operator/query/lte.pot -source_lang = en - -[mongodb-manual.reference--operator--query--not] -file_filter = locale//LC_MESSAGES/reference/operator/query/not.po -source_file = locale/pot/reference/operator/query/not.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--maxScan] -file_filter = locale//LC_MESSAGES/reference/operator/meta/maxScan.po -source_file = locale/pot/reference/operator/meta/maxScan.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--comment] -file_filter = locale//LC_MESSAGES/reference/operator/meta/comment.po -source_file = locale/pot/reference/operator/meta/comment.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--query] -file_filter = locale//LC_MESSAGES/reference/operator/meta/query.po -source_file = locale/pot/reference/operator/meta/query.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--snapshot] -file_filter = locale//LC_MESSAGES/reference/operator/meta/snapshot.po -source_file = locale/pot/reference/operator/meta/snapshot.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--natural] -file_filter = locale//LC_MESSAGES/reference/operator/meta/natural.po -source_file = locale/pot/reference/operator/meta/natural.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--max] -file_filter = locale//LC_MESSAGES/reference/operator/meta/max.po -source_file = locale/pot/reference/operator/meta/max.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--showDiskLoc] -file_filter = locale//LC_MESSAGES/reference/operator/meta/showDiskLoc.po -source_file = locale/pot/reference/operator/meta/showDiskLoc.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--maxTimeMS] -file_filter = locale//LC_MESSAGES/reference/operator/meta/maxTimeMS.po -source_file = locale/pot/reference/operator/meta/maxTimeMS.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--orderby] -file_filter = locale//LC_MESSAGES/reference/operator/meta/orderby.po -source_file = locale/pot/reference/operator/meta/orderby.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--explain] -file_filter = locale//LC_MESSAGES/reference/operator/meta/explain.po -source_file = locale/pot/reference/operator/meta/explain.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--hint] -file_filter = locale//LC_MESSAGES/reference/operator/meta/hint.po -source_file = locale/pot/reference/operator/meta/hint.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--min] -file_filter = locale//LC_MESSAGES/reference/operator/meta/min.po -source_file = locale/pot/reference/operator/meta/min.pot -source_lang = en - -[mongodb-manual.reference--operator--meta--returnKey] -file_filter = locale//LC_MESSAGES/reference/operator/meta/returnKey.po -source_file = locale/pot/reference/operator/meta/returnKey.pot -source_lang = en - -[mongodb-manual.reference--operator--projection--slice] -file_filter = locale//LC_MESSAGES/reference/operator/projection/slice.po -source_file = locale/pot/reference/operator/projection/slice.pot -source_lang = en - -[mongodb-manual.reference--operator--projection--positional] -file_filter = locale//LC_MESSAGES/reference/operator/projection/positional.po -source_file = locale/pot/reference/operator/projection/positional.pot -source_lang = en - -[mongodb-manual.reference--operator--projection--elemMatch] -file_filter = locale//LC_MESSAGES/reference/operator/projection/elemMatch.po -source_file = locale/pot/reference/operator/projection/elemMatch.pot -source_lang = en - -[mongodb-manual.reference--command--whatsmyuri] -file_filter = locale//LC_MESSAGES/reference/command/whatsmyuri.po -source_file = locale/pot/reference/command/whatsmyuri.pot -source_lang = en - -[mongodb-manual.reference--command--dropDatabase] -file_filter = locale//LC_MESSAGES/reference/command/dropDatabase.po -source_file = locale/pot/reference/command/dropDatabase.pot -source_lang = en - -[mongodb-manual.reference--command--handshake] -file_filter = locale//LC_MESSAGES/reference/command/handshake.po -source_file = locale/pot/reference/command/handshake.pot -source_lang = en - -[mongodb-manual.reference--command--shardingState] -file_filter = locale//LC_MESSAGES/reference/command/shardingState.po -source_file = locale/pot/reference/command/shardingState.pot -source_lang = en - -[mongodb-manual.reference--command--getnonce] -file_filter = locale//LC_MESSAGES/reference/command/getnonce.po -source_file = locale/pot/reference/command/getnonce.pot -source_lang = en - -[mongodb-manual.reference--command--sleep] -file_filter = locale//LC_MESSAGES/reference/command/sleep.po -source_file = locale/pot/reference/command/sleep.pot -source_lang = en - -[mongodb-manual.reference--command--logApplicationMessage] -file_filter = locale//LC_MESSAGES/reference/command/logApplicationMessage.po -source_file = locale/pot/reference/command/logApplicationMessage.pot -source_lang = en - -[mongodb-manual.reference--command--eval] -file_filter = locale//LC_MESSAGES/reference/command/eval.po -source_file = locale/pot/reference/command/eval.pot -source_lang = en - -[mongodb-manual.reference--command--getPrevError] -file_filter = locale//LC_MESSAGES/reference/command/getPrevError.po -source_file = locale/pot/reference/command/getPrevError.pot -source_lang = en - -[mongodb-manual.reference--command--clean] -file_filter = locale//LC_MESSAGES/reference/command/clean.po -source_file = locale/pot/reference/command/clean.pot -source_lang = en - -[mongodb-manual.reference--command--skewClockCommand] -file_filter = locale//LC_MESSAGES/reference/command/skewClockCommand.po -source_file = locale/pot/reference/command/skewClockCommand.pot -source_lang = en - -[mongodb-manual.reference--command--godinsert] -file_filter = locale//LC_MESSAGES/reference/command/godinsert.po -source_file = locale/pot/reference/command/godinsert.pot -source_lang = en - -[mongodb-manual.reference--command--nav-auditing] -file_filter = locale//LC_MESSAGES/reference/command/nav-auditing.po -source_file = locale/pot/reference/command/nav-auditing.pot -source_lang = en - -[mongodb-manual.reference--command--buildInfo] -file_filter = locale//LC_MESSAGES/reference/command/buildInfo.po -source_file = locale/pot/reference/command/buildInfo.pot -source_lang = en - -[mongodb-manual.reference--command--listDatabases] -file_filter = locale//LC_MESSAGES/reference/command/listDatabases.po -source_file = locale/pot/reference/command/listDatabases.pot -source_lang = en - -[mongodb-manual.reference--command--dropAllRolesFromDatabase] -file_filter = locale//LC_MESSAGES/reference/command/dropAllRolesFromDatabase.po -source_file = locale/pot/reference/command/dropAllRolesFromDatabase.pot -source_lang = en - -[mongodb-manual.reference--command--convertToCapped] -file_filter = locale//LC_MESSAGES/reference/command/convertToCapped.po -source_file = locale/pot/reference/command/convertToCapped.pot -source_lang = en - -[mongodb-manual.reference--command--mapReduce] -file_filter = locale//LC_MESSAGES/reference/command/mapReduce.po -source_file = locale/pot/reference/command/mapReduce.pot -source_lang = en - -[mongodb-manual.reference--command--authenticate] -file_filter = locale//LC_MESSAGES/reference/command/authenticate.po -source_file = locale/pot/reference/command/authenticate.pot -source_lang = en - -[mongodb-manual.reference--command--group] -file_filter = locale//LC_MESSAGES/reference/command/group.po -source_file = locale/pot/reference/command/group.pot -source_lang = en - -[mongodb-manual.reference--command--nav-crud] -file_filter = locale//LC_MESSAGES/reference/command/nav-crud.po -source_file = locale/pot/reference/command/nav-crud.pot -source_lang = en - -[mongodb-manual.reference--command--medianKey] -file_filter = locale//LC_MESSAGES/reference/command/medianKey.po -source_file = locale/pot/reference/command/medianKey.pot -source_lang = en - -[mongodb-manual.reference--command--replSetFreeze] -file_filter = locale//LC_MESSAGES/reference/command/replSetFreeze.po -source_file = locale/pot/reference/command/replSetFreeze.pot -source_lang = en - -[mongodb-manual.reference--command--listCommands] -file_filter = locale//LC_MESSAGES/reference/command/listCommands.po -source_file = locale/pot/reference/command/listCommands.pot -source_lang = en - -[mongodb-manual.reference--command--nav-diagnostic] -file_filter = locale//LC_MESSAGES/reference/command/nav-diagnostic.po -source_file = locale/pot/reference/command/nav-diagnostic.pot -source_lang = en - -[mongodb-manual.reference--command--grantRolesToRole] -file_filter = locale//LC_MESSAGES/reference/command/grantRolesToRole.po -source_file = locale/pot/reference/command/grantRolesToRole.pot -source_lang = en - -[mongodb-manual.reference--command--updateRole] -file_filter = locale//LC_MESSAGES/reference/command/updateRole.po -source_file = locale/pot/reference/command/updateRole.pot -source_lang = en - -[mongodb-manual.reference--command--cleanupOrphaned] -file_filter = locale//LC_MESSAGES/reference/command/cleanupOrphaned.po -source_file = locale/pot/reference/command/cleanupOrphaned.pot -source_lang = en - -[mongodb-manual.reference--command--getParameter] -file_filter = locale//LC_MESSAGES/reference/command/getParameter.po -source_file = locale/pot/reference/command/getParameter.pot -source_lang = en - -[mongodb-manual.reference--command--nav-administration] -file_filter = locale//LC_MESSAGES/reference/command/nav-administration.po -source_file = locale/pot/reference/command/nav-administration.pot -source_lang = en - -[mongodb-manual.reference--command--revokeRolesFromRole] -file_filter = locale//LC_MESSAGES/reference/command/revokeRolesFromRole.po -source_file = locale/pot/reference/command/revokeRolesFromRole.pot -source_lang = en - -[mongodb-manual.reference--command--nav-sharding] -file_filter = locale//LC_MESSAGES/reference/command/nav-sharding.po -source_file = locale/pot/reference/command/nav-sharding.pot -source_lang = en - -[mongodb-manual.reference--command--testDistLockWithSyncCluster] -file_filter = locale//LC_MESSAGES/reference/command/testDistLockWithSyncCluster.po -source_file = locale/pot/reference/command/testDistLockWithSyncCluster.pot -source_lang = en - -[mongodb-manual.reference--command--recvChunkStatus] -file_filter = locale//LC_MESSAGES/reference/command/recvChunkStatus.po -source_file = locale/pot/reference/command/recvChunkStatus.pot -source_lang = en - -[mongodb-manual.reference--command--createUser] -file_filter = locale//LC_MESSAGES/reference/command/createUser.po -source_file = locale/pot/reference/command/createUser.pot -source_lang = en - -[mongodb-manual.reference--command--top] -file_filter = locale//LC_MESSAGES/reference/command/top.po -source_file = locale/pot/reference/command/top.pot -source_lang = en - -[mongodb-manual.reference--command--dbHash] -file_filter = locale//LC_MESSAGES/reference/command/dbHash.po -source_file = locale/pot/reference/command/dbHash.pot -source_lang = en - -[mongodb-manual.reference--command--mapreduce_shardedfinish] -file_filter = locale//LC_MESSAGES/reference/command/mapreduce.shardedfinish.po -source_file = locale/pot/reference/command/mapreduce.shardedfinish.pot -source_lang = en - -[mongodb-manual.reference--command--updateUser] -file_filter = locale//LC_MESSAGES/reference/command/updateUser.po -source_file = locale/pot/reference/command/updateUser.pot -source_lang = en - -[mongodb-manual.reference--command--configureFailPoint] -file_filter = locale//LC_MESSAGES/reference/command/configureFailPoint.po -source_file = locale/pot/reference/command/configureFailPoint.pot -source_lang = en - -[mongodb-manual.reference--command--nav-authentication] -file_filter = locale//LC_MESSAGES/reference/command/nav-authentication.po -source_file = locale/pot/reference/command/nav-authentication.pot -source_lang = en - -[mongodb-manual.reference--command--features] -file_filter = locale//LC_MESSAGES/reference/command/features.po -source_file = locale/pot/reference/command/features.pot -source_lang = en - -[mongodb-manual.reference--command--geoNear] -file_filter = locale//LC_MESSAGES/reference/command/geoNear.po -source_file = locale/pot/reference/command/geoNear.pot -source_lang = en - -[mongodb-manual.reference--command--repairDatabase] -file_filter = locale//LC_MESSAGES/reference/command/repairDatabase.po -source_file = locale/pot/reference/command/repairDatabase.pot -source_lang = en - -[mongodb-manual.reference--command--replSetHeartbeat] -file_filter = locale//LC_MESSAGES/reference/command/replSetHeartbeat.po -source_file = locale/pot/reference/command/replSetHeartbeat.pot -source_lang = en - -[mongodb-manual.reference--command--resetError] -file_filter = locale//LC_MESSAGES/reference/command/resetError.po -source_file = locale/pot/reference/command/resetError.pot -source_lang = en - -[mongodb-manual.reference--command--split] -file_filter = locale//LC_MESSAGES/reference/command/split.po -source_file = locale/pot/reference/command/split.pot -source_lang = en - -[mongodb-manual.reference--command--shardCollection] -file_filter = locale//LC_MESSAGES/reference/command/shardCollection.po -source_file = locale/pot/reference/command/shardCollection.pot -source_lang = en - -[mongodb-manual.reference--command--writeBacksQueued] -file_filter = locale//LC_MESSAGES/reference/command/writeBacksQueued.po -source_file = locale/pot/reference/command/writeBacksQueued.pot -source_lang = en - -[mongodb-manual.reference--command--profile] -file_filter = locale//LC_MESSAGES/reference/command/profile.po -source_file = locale/pot/reference/command/profile.pot -source_lang = en - -[mongodb-manual.reference--command--journalLatencyTest] -file_filter = locale//LC_MESSAGES/reference/command/journalLatencyTest.po -source_file = locale/pot/reference/command/journalLatencyTest.pot -source_lang = en - -[mongodb-manual.reference--command--resync] -file_filter = locale//LC_MESSAGES/reference/command/resync.po -source_file = locale/pot/reference/command/resync.pot -source_lang = en - -[mongodb-manual.reference--command--indexStats] -file_filter = locale//LC_MESSAGES/reference/command/indexStats.po -source_file = locale/pot/reference/command/indexStats.pot -source_lang = en - -[mongodb-manual.reference--command--replSetReconfig] -file_filter = locale//LC_MESSAGES/reference/command/replSetReconfig.po -source_file = locale/pot/reference/command/replSetReconfig.pot -source_lang = en - -[mongodb-manual.reference--command--availableQueryOptions] -file_filter = locale//LC_MESSAGES/reference/command/availableQueryOptions.po -source_file = locale/pot/reference/command/availableQueryOptions.pot -source_lang = en - -[mongodb-manual.reference--command--recvChunkStart] -file_filter = locale//LC_MESSAGES/reference/command/recvChunkStart.po -source_file = locale/pot/reference/command/recvChunkStart.pot -source_lang = en - -[mongodb-manual.reference--command--validate] -file_filter = locale//LC_MESSAGES/reference/command/validate.po -source_file = locale/pot/reference/command/validate.pot -source_lang = en - -[mongodb-manual.reference--command--writebacklisten] -file_filter = locale//LC_MESSAGES/reference/command/writebacklisten.po -source_file = locale/pot/reference/command/writebacklisten.pot -source_lang = en - -[mongodb-manual.reference--command--update] -file_filter = locale//LC_MESSAGES/reference/command/update.po -source_file = locale/pot/reference/command/update.pot -source_lang = en - -[mongodb-manual.reference--command--connPoolStats] -file_filter = locale//LC_MESSAGES/reference/command/connPoolStats.po -source_file = locale/pot/reference/command/connPoolStats.pot -source_lang = en - -[mongodb-manual.reference--command--touch] -file_filter = locale//LC_MESSAGES/reference/command/touch.po -source_file = locale/pot/reference/command/touch.pot -source_lang = en - -[mongodb-manual.reference--command--isSelf] -file_filter = locale//LC_MESSAGES/reference/command/isSelf.po -source_file = locale/pot/reference/command/isSelf.pot -source_lang = en - -[mongodb-manual.reference--command--removeShard] -file_filter = locale//LC_MESSAGES/reference/command/removeShard.po -source_file = locale/pot/reference/command/removeShard.pot -source_lang = en - -[mongodb-manual.reference--command--copydb] -file_filter = locale//LC_MESSAGES/reference/command/copydb.po -source_file = locale/pot/reference/command/copydb.pot -source_lang = en - -[mongodb-manual.reference--command--getoptime] -file_filter = locale//LC_MESSAGES/reference/command/getoptime.po -source_file = locale/pot/reference/command/getoptime.pot -source_lang = en - -[mongodb-manual.reference--command--cloneCollectionAsCapped] -file_filter = locale//LC_MESSAGES/reference/command/cloneCollectionAsCapped.po -source_file = locale/pot/reference/command/cloneCollectionAsCapped.pot -source_lang = en - -[mongodb-manual.reference--command--cloneCollection] -file_filter = locale//LC_MESSAGES/reference/command/cloneCollection.po -source_file = locale/pot/reference/command/cloneCollection.pot -source_lang = en - -[mongodb-manual.reference--command--replSetSyncFrom] -file_filter = locale//LC_MESSAGES/reference/command/replSetSyncFrom.po -source_file = locale/pot/reference/command/replSetSyncFrom.pot -source_lang = en - -[mongodb-manual.reference--command--replSetStepDown] -file_filter = locale//LC_MESSAGES/reference/command/replSetStepDown.po -source_file = locale/pot/reference/command/replSetStepDown.pot -source_lang = en - -[mongodb-manual.reference--command--revokeRolesFromUser] -file_filter = locale//LC_MESSAGES/reference/command/revokeRolesFromUser.po -source_file = locale/pot/reference/command/revokeRolesFromUser.pot -source_lang = en - -[mongodb-manual.reference--command--forceerror] -file_filter = locale//LC_MESSAGES/reference/command/forceerror.po -source_file = locale/pot/reference/command/forceerror.pot -source_lang = en - -[mongodb-manual.reference--command--setShardVersion] -file_filter = locale//LC_MESSAGES/reference/command/setShardVersion.po -source_file = locale/pot/reference/command/setShardVersion.pot -source_lang = en - -[mongodb-manual.reference--command--geoWalk] -file_filter = locale//LC_MESSAGES/reference/command/geoWalk.po -source_file = locale/pot/reference/command/geoWalk.pot -source_lang = en - -[mongodb-manual.reference--command--rolesInfo] -file_filter = locale//LC_MESSAGES/reference/command/rolesInfo.po -source_file = locale/pot/reference/command/rolesInfo.pot -source_lang = en - -[mongodb-manual.reference--command--mergeChunks] -file_filter = locale//LC_MESSAGES/reference/command/mergeChunks.po -source_file = locale/pot/reference/command/mergeChunks.pot -source_lang = en - -[mongodb-manual.reference--command--aggregate] -file_filter = locale//LC_MESSAGES/reference/command/aggregate.po -source_file = locale/pot/reference/command/aggregate.pot -source_lang = en - -[mongodb-manual.reference--command--usersInfo] -file_filter = locale//LC_MESSAGES/reference/command/usersInfo.po -source_file = locale/pot/reference/command/usersInfo.pot -source_lang = en - -[mongodb-manual.reference--command--splitVector] -file_filter = locale//LC_MESSAGES/reference/command/splitVector.po -source_file = locale/pot/reference/command/splitVector.pot -source_lang = en - -[mongodb-manual.reference--command--nav-replication] -file_filter = locale//LC_MESSAGES/reference/command/nav-replication.po -source_file = locale/pot/reference/command/nav-replication.pot -source_lang = en - -[mongodb-manual.reference--command--transferMods] -file_filter = locale//LC_MESSAGES/reference/command/transferMods.po -source_file = locale/pot/reference/command/transferMods.pot -source_lang = en - -[mongodb-manual.reference--command--replSetElect] -file_filter = locale//LC_MESSAGES/reference/command/replSetElect.po -source_file = locale/pot/reference/command/replSetElect.pot -source_lang = en - -[mongodb-manual.reference--command--isMaster] -file_filter = locale//LC_MESSAGES/reference/command/isMaster.po -source_file = locale/pot/reference/command/isMaster.pot -source_lang = en - -[mongodb-manual.reference--command--grantRolesToUser] -file_filter = locale//LC_MESSAGES/reference/command/grantRolesToUser.po -source_file = locale/pot/reference/command/grantRolesToUser.pot -source_lang = en - -[mongodb-manual.reference--command--clone] -file_filter = locale//LC_MESSAGES/reference/command/clone.po -source_file = locale/pot/reference/command/clone.pot -source_lang = en - -[mongodb-manual.reference--command--dataSize] -file_filter = locale//LC_MESSAGES/reference/command/dataSize.po -source_file = locale/pot/reference/command/dataSize.pot -source_lang = en - -[mongodb-manual.reference--command--text] -file_filter = locale//LC_MESSAGES/reference/command/text.po -source_file = locale/pot/reference/command/text.pot -source_lang = en - -[mongodb-manual.reference--command--getLog] -file_filter = locale//LC_MESSAGES/reference/command/getLog.po -source_file = locale/pot/reference/command/getLog.pot -source_lang = en - -[mongodb-manual.reference--command--getCmdLineOpts] -file_filter = locale//LC_MESSAGES/reference/command/getCmdLineOpts.po -source_file = locale/pot/reference/command/getCmdLineOpts.pot -source_lang = en - -[mongodb-manual.reference--command--nav-role-management] -file_filter = locale//LC_MESSAGES/reference/command/nav-role-management.po -source_file = locale/pot/reference/command/nav-role-management.pot -source_lang = en - -[mongodb-manual.reference--command--nav-aggregation] -file_filter = locale//LC_MESSAGES/reference/command/nav-aggregation.po -source_file = locale/pot/reference/command/nav-aggregation.pot -source_lang = en - -[mongodb-manual.reference--command--diagLogging] -file_filter = locale//LC_MESSAGES/reference/command/diagLogging.po -source_file = locale/pot/reference/command/diagLogging.pot -source_lang = en - -[mongodb-manual.reference--command--enableSharding] -file_filter = locale//LC_MESSAGES/reference/command/enableSharding.po -source_file = locale/pot/reference/command/enableSharding.pot -source_lang = en - -[mongodb-manual.reference--command--serverStatus] -file_filter = locale//LC_MESSAGES/reference/command/serverStatus.po -source_file = locale/pot/reference/command/serverStatus.pot -source_lang = en - -[mongodb-manual.reference--command--replSetInitiate] -file_filter = locale//LC_MESSAGES/reference/command/replSetInitiate.po -source_file = locale/pot/reference/command/replSetInitiate.pot -source_lang = en - -[mongodb-manual.reference--command--flushRouterConfig] -file_filter = locale//LC_MESSAGES/reference/command/flushRouterConfig.po -source_file = locale/pot/reference/command/flushRouterConfig.pot -source_lang = en - -[mongodb-manual.reference--command--nav-geospatial] -file_filter = locale//LC_MESSAGES/reference/command/nav-geospatial.po -source_file = locale/pot/reference/command/nav-geospatial.pot -source_lang = en - -[mongodb-manual.reference--command--copydbgetnonce] -file_filter = locale//LC_MESSAGES/reference/command/copydbgetnonce.po -source_file = locale/pot/reference/command/copydbgetnonce.pot -source_lang = en - -[mongodb-manual.reference--command--listShards] -file_filter = locale//LC_MESSAGES/reference/command/listShards.po -source_file = locale/pot/reference/command/listShards.pot -source_lang = en - -[mongodb-manual.reference--command--dbStats] -file_filter = locale//LC_MESSAGES/reference/command/dbStats.po -source_file = locale/pot/reference/command/dbStats.pot -source_lang = en - -[mongodb-manual.reference--command--recvChunkAbort] -file_filter = locale//LC_MESSAGES/reference/command/recvChunkAbort.po -source_file = locale/pot/reference/command/recvChunkAbort.pot -source_lang = en - -[mongodb-manual.reference--command--count] -file_filter = locale//LC_MESSAGES/reference/command/count.po -source_file = locale/pot/reference/command/count.pot -source_lang = en - -[mongodb-manual.reference--command--emptycapped] -file_filter = locale//LC_MESSAGES/reference/command/emptycapped.po -source_file = locale/pot/reference/command/emptycapped.pot -source_lang = en - -[mongodb-manual.reference--command--grantPrivilegesToRole] -file_filter = locale//LC_MESSAGES/reference/command/grantPrivilegesToRole.po -source_file = locale/pot/reference/command/grantPrivilegesToRole.pot -source_lang = en - -[mongodb-manual.reference--command--dropRole] -file_filter = locale//LC_MESSAGES/reference/command/dropRole.po -source_file = locale/pot/reference/command/dropRole.pot -source_lang = en - -[mongodb-manual.reference--command--unsetSharding] -file_filter = locale//LC_MESSAGES/reference/command/unsetSharding.po -source_file = locale/pot/reference/command/unsetSharding.pot -source_lang = en - -[mongodb-manual.reference--command--dropUser] -file_filter = locale//LC_MESSAGES/reference/command/dropUser.po -source_file = locale/pot/reference/command/dropUser.pot -source_lang = en - -[mongodb-manual.reference--command--reIndex] -file_filter = locale//LC_MESSAGES/reference/command/reIndex.po -source_file = locale/pot/reference/command/reIndex.pot -source_lang = en - -[mongodb-manual.reference--command--connPoolSync] -file_filter = locale//LC_MESSAGES/reference/command/connPoolSync.po -source_file = locale/pot/reference/command/connPoolSync.pot -source_lang = en - -[mongodb-manual.reference--command--splitChunk] -file_filter = locale//LC_MESSAGES/reference/command/splitChunk.po -source_file = locale/pot/reference/command/splitChunk.pot -source_lang = en - -[mongodb-manual.reference--command--dropIndexes] -file_filter = locale//LC_MESSAGES/reference/command/dropIndexes.po -source_file = locale/pot/reference/command/dropIndexes.pot -source_lang = en - -[mongodb-manual.reference--command--findAndModify] -file_filter = locale//LC_MESSAGES/reference/command/findAndModify.po -source_file = locale/pot/reference/command/findAndModify.pot -source_lang = en - -[mongodb-manual.reference--command--getLastError] -file_filter = locale//LC_MESSAGES/reference/command/getLastError.po -source_file = locale/pot/reference/command/getLastError.pot -source_lang = en - -[mongodb-manual.reference--command--testDistLockWithSkew] -file_filter = locale//LC_MESSAGES/reference/command/testDistLockWithSkew.po -source_file = locale/pot/reference/command/testDistLockWithSkew.pot -source_lang = en - -[mongodb-manual.reference--command--setParameter] -file_filter = locale//LC_MESSAGES/reference/command/setParameter.po -source_file = locale/pot/reference/command/setParameter.pot -source_lang = en - -[mongodb-manual.reference--command--drop] -file_filter = locale//LC_MESSAGES/reference/command/drop.po -source_file = locale/pot/reference/command/drop.pot -source_lang = en - -[mongodb-manual.reference--command--replSetMaintenance] -file_filter = locale//LC_MESSAGES/reference/command/replSetMaintenance.po -source_file = locale/pot/reference/command/replSetMaintenance.pot -source_lang = en - -[mongodb-manual.reference--command--replSetGetStatus] -file_filter = locale//LC_MESSAGES/reference/command/replSetGetStatus.po -source_file = locale/pot/reference/command/replSetGetStatus.pot -source_lang = en - -[mongodb-manual.reference--command--dropAllUsersFromDatabase] -file_filter = locale//LC_MESSAGES/reference/command/dropAllUsersFromDatabase.po -source_file = locale/pot/reference/command/dropAllUsersFromDatabase.pot -source_lang = en - -[mongodb-manual.reference--command--isdbgrid] -file_filter = locale//LC_MESSAGES/reference/command/isdbgrid.po -source_file = locale/pot/reference/command/isdbgrid.pot -source_lang = en - -[mongodb-manual.reference--command--nav-testing] -file_filter = locale//LC_MESSAGES/reference/command/nav-testing.po -source_file = locale/pot/reference/command/nav-testing.pot -source_lang = en - -[mongodb-manual.reference--command--hashBSONElement] -file_filter = locale//LC_MESSAGES/reference/command/hashBSONElement.po -source_file = locale/pot/reference/command/hashBSONElement.pot -source_lang = en - -[mongodb-manual.reference--command--checkShardingIndex] -file_filter = locale//LC_MESSAGES/reference/command/checkShardingIndex.po -source_file = locale/pot/reference/command/checkShardingIndex.pot -source_lang = en - -[mongodb-manual.reference--command--insert] -file_filter = locale//LC_MESSAGES/reference/command/insert.po -source_file = locale/pot/reference/command/insert.pot -source_lang = en - -[mongodb-manual.reference--command--nav-user-management] -file_filter = locale//LC_MESSAGES/reference/command/nav-user-management.po -source_file = locale/pot/reference/command/nav-user-management.pot -source_lang = en - -[mongodb-manual.reference--command--filemd5] -file_filter = locale//LC_MESSAGES/reference/command/filemd5.po -source_file = locale/pot/reference/command/filemd5.pot -source_lang = en - -[mongodb-manual.reference--command--createRole] -file_filter = locale//LC_MESSAGES/reference/command/createRole.po -source_file = locale/pot/reference/command/createRole.pot -source_lang = en - -[mongodb-manual.reference--command--nav-internal] -file_filter = locale//LC_MESSAGES/reference/command/nav-internal.po -source_file = locale/pot/reference/command/nav-internal.pot -source_lang = en - -[mongodb-manual.reference--command--collStats] -file_filter = locale//LC_MESSAGES/reference/command/collStats.po -source_file = locale/pot/reference/command/collStats.pot -source_lang = en - -[mongodb-manual.reference--command--logRotate] -file_filter = locale//LC_MESSAGES/reference/command/logRotate.po -source_file = locale/pot/reference/command/logRotate.pot -source_lang = en - -[mongodb-manual.reference--command--collMod] -file_filter = locale//LC_MESSAGES/reference/command/collMod.po -source_file = locale/pot/reference/command/collMod.pot -source_lang = en - -[mongodb-manual.reference--command--hostInfo] -file_filter = locale//LC_MESSAGES/reference/command/hostInfo.po -source_file = locale/pot/reference/command/hostInfo.pot -source_lang = en - -[mongodb-manual.reference--command--shutdown] -file_filter = locale//LC_MESSAGES/reference/command/shutdown.po -source_file = locale/pot/reference/command/shutdown.pot -source_lang = en - -[mongodb-manual.reference--command--logout] -file_filter = locale//LC_MESSAGES/reference/command/logout.po -source_file = locale/pot/reference/command/logout.pot -source_lang = en - -[mongodb-manual.reference--command--fsync] -file_filter = locale//LC_MESSAGES/reference/command/fsync.po -source_file = locale/pot/reference/command/fsync.pot -source_lang = en - -[mongodb-manual.reference--command--geoSearch] -file_filter = locale//LC_MESSAGES/reference/command/geoSearch.po -source_file = locale/pot/reference/command/geoSearch.pot -source_lang = en - -[mongodb-manual.reference--command--closeAllDatabases] -file_filter = locale//LC_MESSAGES/reference/command/closeAllDatabases.po -source_file = locale/pot/reference/command/closeAllDatabases.pot -source_lang = en - -[mongodb-manual.reference--command--replSetFresh] -file_filter = locale//LC_MESSAGES/reference/command/replSetFresh.po -source_file = locale/pot/reference/command/replSetFresh.pot -source_lang = en - -[mongodb-manual.reference--command--replSetTest] -file_filter = locale//LC_MESSAGES/reference/command/replSetTest.po -source_file = locale/pot/reference/command/replSetTest.pot -source_lang = en - -[mongodb-manual.reference--command--getShardVersion] -file_filter = locale//LC_MESSAGES/reference/command/getShardVersion.po -source_file = locale/pot/reference/command/getShardVersion.pot -source_lang = en - -[mongodb-manual.reference--command--applyOps] -file_filter = locale//LC_MESSAGES/reference/command/applyOps.po -source_file = locale/pot/reference/command/applyOps.pot -source_lang = en - -[mongodb-manual.reference--command--recvChunkCommit] -file_filter = locale//LC_MESSAGES/reference/command/recvChunkCommit.po -source_file = locale/pot/reference/command/recvChunkCommit.pot -source_lang = en - -[mongodb-manual.reference--command--cursorInfo] -file_filter = locale//LC_MESSAGES/reference/command/cursorInfo.po -source_file = locale/pot/reference/command/cursorInfo.pot -source_lang = en - -[mongodb-manual.reference--command--captrunc] -file_filter = locale//LC_MESSAGES/reference/command/captrunc.po -source_file = locale/pot/reference/command/captrunc.pot -source_lang = en - -[mongodb-manual.reference--command--moveChunk] -file_filter = locale//LC_MESSAGES/reference/command/moveChunk.po -source_file = locale/pot/reference/command/moveChunk.pot -source_lang = en - -[mongodb-manual.reference--command--revokePrivilegesFromRole] -file_filter = locale//LC_MESSAGES/reference/command/revokePrivilegesFromRole.po -source_file = locale/pot/reference/command/revokePrivilegesFromRole.pot -source_lang = en - -[mongodb-manual.reference--command--distinct] -file_filter = locale//LC_MESSAGES/reference/command/distinct.po -source_file = locale/pot/reference/command/distinct.pot -source_lang = en - -[mongodb-manual.reference--command--driverOIDTest] -file_filter = locale//LC_MESSAGES/reference/command/driverOIDTest.po -source_file = locale/pot/reference/command/driverOIDTest.pot -source_lang = en - -[mongodb-manual.reference--command--netstat] -file_filter = locale//LC_MESSAGES/reference/command/netstat.po -source_file = locale/pot/reference/command/netstat.pot -source_lang = en - -[mongodb-manual.reference--command--getShardMap] -file_filter = locale//LC_MESSAGES/reference/command/getShardMap.po -source_file = locale/pot/reference/command/getShardMap.pot -source_lang = en - -[mongodb-manual.reference--command--ping] -file_filter = locale//LC_MESSAGES/reference/command/ping.po -source_file = locale/pot/reference/command/ping.pot -source_lang = en - -[mongodb-manual.reference--command--addShard] -file_filter = locale//LC_MESSAGES/reference/command/addShard.po -source_file = locale/pot/reference/command/addShard.pot -source_lang = en - -[mongodb-manual.reference--command--movePrimary] -file_filter = locale//LC_MESSAGES/reference/command/movePrimary.po -source_file = locale/pot/reference/command/movePrimary.pot -source_lang = en - -[mongodb-manual.reference--command--migrateClone] -file_filter = locale//LC_MESSAGES/reference/command/migrateClone.po -source_file = locale/pot/reference/command/migrateClone.pot -source_lang = en - -[mongodb-manual.reference--command--replSetGetRBID] -file_filter = locale//LC_MESSAGES/reference/command/replSetGetRBID.po -source_file = locale/pot/reference/command/replSetGetRBID.pot -source_lang = en - -[mongodb-manual.reference--command--renameCollection] -file_filter = locale//LC_MESSAGES/reference/command/renameCollection.po -source_file = locale/pot/reference/command/renameCollection.pot -source_lang = en - -[mongodb-manual.reference--command--delete] -file_filter = locale//LC_MESSAGES/reference/command/delete.po -source_file = locale/pot/reference/command/delete.pot -source_lang = en - -[mongodb-manual.reference--command--create] -file_filter = locale//LC_MESSAGES/reference/command/create.po -source_file = locale/pot/reference/command/create.pot -source_lang = en - -[mongodb-manual.reference--command--compact] -file_filter = locale//LC_MESSAGES/reference/command/compact.po -source_file = locale/pot/reference/command/compact.pot -source_lang = en - -[mongodb-manual.reference--program--mongod] -file_filter = locale//LC_MESSAGES/reference/program/mongod.po -source_file = locale/pot/reference/program/mongod.pot -source_lang = en - -[mongodb-manual.reference--program--mongofiles] -file_filter = locale//LC_MESSAGES/reference/program/mongofiles.po -source_file = locale/pot/reference/program/mongofiles.pot -source_lang = en - -[mongodb-manual.reference--program--mongoimport] -file_filter = locale//LC_MESSAGES/reference/program/mongoimport.po -source_file = locale/pot/reference/program/mongoimport.pot -source_lang = en - -[mongodb-manual.reference--program--bsondump] -file_filter = locale//LC_MESSAGES/reference/program/bsondump.po -source_file = locale/pot/reference/program/bsondump.pot -source_lang = en - -[mongodb-manual.reference--program--mongod_exe] -file_filter = locale//LC_MESSAGES/reference/program/mongod.exe.po -source_file = locale/pot/reference/program/mongod.exe.pot -source_lang = en - -[mongodb-manual.reference--program--mongos_exe] -file_filter = locale//LC_MESSAGES/reference/program/mongos.exe.po -source_file = locale/pot/reference/program/mongos.exe.pot -source_lang = en - -[mongodb-manual.reference--program--mongotop] -file_filter = locale//LC_MESSAGES/reference/program/mongotop.po -source_file = locale/pot/reference/program/mongotop.pot -source_lang = en - -[mongodb-manual.reference--program--mongorestore] -file_filter = locale//LC_MESSAGES/reference/program/mongorestore.po -source_file = locale/pot/reference/program/mongorestore.pot -source_lang = en - -[mongodb-manual.reference--program--mongo] -file_filter = locale//LC_MESSAGES/reference/program/mongo.po -source_file = locale/pot/reference/program/mongo.pot -source_lang = en - -[mongodb-manual.reference--program--mongodump] -file_filter = locale//LC_MESSAGES/reference/program/mongodump.po -source_file = locale/pot/reference/program/mongodump.pot -source_lang = en - -[mongodb-manual.reference--program--mongoexport] -file_filter = locale//LC_MESSAGES/reference/program/mongoexport.po -source_file = locale/pot/reference/program/mongoexport.pot -source_lang = en - -[mongodb-manual.reference--program--mongoperf] -file_filter = locale//LC_MESSAGES/reference/program/mongoperf.po -source_file = locale/pot/reference/program/mongoperf.pot -source_lang = en - -[mongodb-manual.reference--program--mongooplog] -file_filter = locale//LC_MESSAGES/reference/program/mongooplog.po -source_file = locale/pot/reference/program/mongooplog.pot -source_lang = en - -[mongodb-manual.reference--program--mongosniff] -file_filter = locale//LC_MESSAGES/reference/program/mongosniff.po -source_file = locale/pot/reference/program/mongosniff.pot -source_lang = en - -[mongodb-manual.reference--program--mongos] -file_filter = locale//LC_MESSAGES/reference/program/mongos.po -source_file = locale/pot/reference/program/mongos.pot -source_lang = en - -[mongodb-manual.reference--program--mongostat] -file_filter = locale//LC_MESSAGES/reference/program/mongostat.po -source_file = locale/pot/reference/program/mongostat.pot -source_lang = en - -[mongodb-manual.reference--method--hostname] -file_filter = locale//LC_MESSAGES/reference/method/hostname.po -source_file = locale/pot/reference/method/hostname.pot -source_lang = en - -[mongodb-manual.reference--method--stopMongod] -file_filter = locale//LC_MESSAGES/reference/method/stopMongod.po -source_file = locale/pot/reference/method/stopMongod.pot -source_lang = en - -[mongodb-manual.reference--method--db_repairDatabase] -file_filter = locale//LC_MESSAGES/reference/method/db.repairDatabase.po -source_file = locale/pot/reference/method/db.repairDatabase.pot -source_lang = en - -[mongodb-manual.reference--method--sh_isBalancerRunning] -file_filter = locale//LC_MESSAGES/reference/method/sh.isBalancerRunning.po -source_file = locale/pot/reference/method/sh.isBalancerRunning.pot -source_lang = en - -[mongodb-manual.reference--method--pwd] -file_filter = locale//LC_MESSAGES/reference/method/pwd.po -source_file = locale/pot/reference/method/pwd.pot -source_lang = en - -[mongodb-manual.reference--method--db_loadServerScripts] -file_filter = locale//LC_MESSAGES/reference/method/db.loadServerScripts.po -source_file = locale/pot/reference/method/db.loadServerScripts.pot -source_lang = en - -[mongodb-manual.reference--method--stopMongoProgramByPid] -file_filter = locale//LC_MESSAGES/reference/method/stopMongoProgramByPid.po -source_file = locale/pot/reference/method/stopMongoProgramByPid.pot -source_lang = en - -[mongodb-manual.reference--method--waitMongoProgramOnPort] -file_filter = locale//LC_MESSAGES/reference/method/waitMongoProgramOnPort.po -source_file = locale/pot/reference/method/waitMongoProgramOnPort.pot -source_lang = en - -[mongodb-manual.reference--method--srand] -file_filter = locale//LC_MESSAGES/reference/method/srand.po -source_file = locale/pot/reference/method/srand.pot -source_lang = en - -[mongodb-manual.reference--method--sh_waitForBalancer] -file_filter = locale//LC_MESSAGES/reference/method/sh.waitForBalancer.po -source_file = locale/pot/reference/method/sh.waitForBalancer.pot -source_lang = en - -[mongodb-manual.reference--method--ObjectId_getTimestamp] -file_filter = locale//LC_MESSAGES/reference/method/ObjectId.getTimestamp.po -source_file = locale/pot/reference/method/ObjectId.getTimestamp.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_storageSize] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.storageSize.po -source_file = locale/pot/reference/method/db.collection.storageSize.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo_getDB] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.getDB.po -source_file = locale/pot/reference/method/Mongo.getDB.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_snapshot] -file_filter = locale//LC_MESSAGES/reference/method/cursor.snapshot.po -source_file = locale/pot/reference/method/cursor.snapshot.pot -source_lang = en - -[mongodb-manual.reference--method--db_shutdownServer] -file_filter = locale//LC_MESSAGES/reference/method/db.shutdownServer.po -source_file = locale/pot/reference/method/db.shutdownServer.pot -source_lang = en - -[mongodb-manual.reference--method--sh_help] -file_filter = locale//LC_MESSAGES/reference/method/sh.help.po -source_file = locale/pot/reference/method/sh.help.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_dropIndexes] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.dropIndexes.po -source_file = locale/pot/reference/method/db.collection.dropIndexes.pot -source_lang = en - -[mongodb-manual.reference--method--db_cloneCollection] -file_filter = locale//LC_MESSAGES/reference/method/db.cloneCollection.po -source_file = locale/pot/reference/method/db.cloneCollection.pot -source_lang = en - -[mongodb-manual.reference--method--db_printSecondaryReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.printSecondaryReplicationInfo.po -source_file = locale/pot/reference/method/db.printSecondaryReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--db_printSlaveReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.printSlaveReplicationInfo.po -source_file = locale/pot/reference/method/db.printSlaveReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--js-sharding] -file_filter = locale//LC_MESSAGES/reference/method/js-sharding.po -source_file = locale/pot/reference/method/js-sharding.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo_setSlaveOk] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.setSlaveOk.po -source_file = locale/pot/reference/method/Mongo.setSlaveOk.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_maxTimeMS] -file_filter = locale//LC_MESSAGES/reference/method/cursor.maxTimeMS.po -source_file = locale/pot/reference/method/cursor.maxTimeMS.pot -source_lang = en - -[mongodb-manual.reference--method--js-replication] -file_filter = locale//LC_MESSAGES/reference/method/js-replication.po -source_file = locale/pot/reference/method/js-replication.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_showDiskLoc] -file_filter = locale//LC_MESSAGES/reference/method/cursor.showDiskLoc.po -source_file = locale/pot/reference/method/cursor.showDiskLoc.pot -source_lang = en - -[mongodb-manual.reference--method--mkdir] -file_filter = locale//LC_MESSAGES/reference/method/mkdir.po -source_file = locale/pot/reference/method/mkdir.pot -source_lang = en - -[mongodb-manual.reference--method--rs_remove] -file_filter = locale//LC_MESSAGES/reference/method/rs.remove.po -source_file = locale/pot/reference/method/rs.remove.pot -source_lang = en - -[mongodb-manual.reference--method--sh_waitForDLock] -file_filter = locale//LC_MESSAGES/reference/method/sh.waitForDLock.po -source_file = locale/pot/reference/method/sh.waitForDLock.pot -source_lang = en - -[mongodb-manual.reference--method--ObjectId_toString] -file_filter = locale//LC_MESSAGES/reference/method/ObjectId.toString.po -source_file = locale/pot/reference/method/ObjectId.toString.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_skip] -file_filter = locale//LC_MESSAGES/reference/method/cursor.skip.po -source_file = locale/pot/reference/method/cursor.skip.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_limit] -file_filter = locale//LC_MESSAGES/reference/method/cursor.limit.po -source_file = locale/pot/reference/method/cursor.limit.pot -source_lang = en - -[mongodb-manual.reference--method--db_fsyncUnlock] -file_filter = locale//LC_MESSAGES/reference/method/db.fsyncUnlock.po -source_file = locale/pot/reference/method/db.fsyncUnlock.pot -source_lang = en - -[mongodb-manual.reference--method--db_getCollectionNames] -file_filter = locale//LC_MESSAGES/reference/method/db.getCollectionNames.po -source_file = locale/pot/reference/method/db.getCollectionNames.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_update] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.update.po -source_file = locale/pot/reference/method/db.collection.update.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_sort] -file_filter = locale//LC_MESSAGES/reference/method/cursor.sort.po -source_file = locale/pot/reference/method/cursor.sort.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_objsLeftInBatch] -file_filter = locale//LC_MESSAGES/reference/method/cursor.objsLeftInBatch.po -source_file = locale/pot/reference/method/cursor.objsLeftInBatch.pot -source_lang = en - -[mongodb-manual.reference--method--rs_initiate] -file_filter = locale//LC_MESSAGES/reference/method/rs.initiate.po -source_file = locale/pot/reference/method/rs.initiate.pot -source_lang = en - -[mongodb-manual.reference--method--rs_conf] -file_filter = locale//LC_MESSAGES/reference/method/rs.conf.po -source_file = locale/pot/reference/method/rs.conf.pot -source_lang = en - -[mongodb-manual.reference--method--sh_disableBalancing] -file_filter = locale//LC_MESSAGES/reference/method/sh.disableBalancing.po -source_file = locale/pot/reference/method/sh.disableBalancing.pot -source_lang = en - -[mongodb-manual.reference--method--js-cursor] -file_filter = locale//LC_MESSAGES/reference/method/js-cursor.po -source_file = locale/pot/reference/method/js-cursor.pot -source_lang = en - -[mongodb-manual.reference--method--getHostName] -file_filter = locale//LC_MESSAGES/reference/method/getHostName.po -source_file = locale/pot/reference/method/getHostName.pot -source_lang = en - -[mongodb-manual.reference--method--db_removeUser] -file_filter = locale//LC_MESSAGES/reference/method/db.removeUser.po -source_file = locale/pot/reference/method/db.removeUser.pot -source_lang = en - -[mongodb-manual.reference--method--db_getUsers] -file_filter = locale//LC_MESSAGES/reference/method/db.getUsers.po -source_file = locale/pot/reference/method/db.getUsers.pot -source_lang = en - -[mongodb-manual.reference--method--db_help] -file_filter = locale//LC_MESSAGES/reference/method/db.help.po -source_file = locale/pot/reference/method/db.help.pot -source_lang = en - -[mongodb-manual.reference--method--db_dropUser] -file_filter = locale//LC_MESSAGES/reference/method/db.dropUser.po -source_file = locale/pot/reference/method/db.dropUser.pot -source_lang = en - -[mongodb-manual.reference--method--startMongoProgram] -file_filter = locale//LC_MESSAGES/reference/method/startMongoProgram.po -source_file = locale/pot/reference/method/startMongoProgram.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_validate] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.validate.po -source_file = locale/pot/reference/method/db.collection.validate.pot -source_lang = en - -[mongodb-manual.reference--method--listFiles] -file_filter = locale//LC_MESSAGES/reference/method/listFiles.po -source_file = locale/pot/reference/method/listFiles.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo_getReadPrefTagSet] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.getReadPrefTagSet.po -source_file = locale/pot/reference/method/Mongo.getReadPrefTagSet.pot -source_lang = en - -[mongodb-manual.reference--method--db_listCommands] -file_filter = locale//LC_MESSAGES/reference/method/db.listCommands.po -source_file = locale/pot/reference/method/db.listCommands.pot -source_lang = en - -[mongodb-manual.reference--method--ObjectId_valueOf] -file_filter = locale//LC_MESSAGES/reference/method/ObjectId.valueOf.po -source_file = locale/pot/reference/method/ObjectId.valueOf.pot -source_lang = en - -[mongodb-manual.reference--method--db_runCommand] -file_filter = locale//LC_MESSAGES/reference/method/db.runCommand.po -source_file = locale/pot/reference/method/db.runCommand.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_group] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.group.po -source_file = locale/pot/reference/method/db.collection.group.pot -source_lang = en - -[mongodb-manual.reference--method--sh_removeShardTag] -file_filter = locale//LC_MESSAGES/reference/method/sh.removeShardTag.po -source_file = locale/pot/reference/method/sh.removeShardTag.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_distinct] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.distinct.po -source_file = locale/pot/reference/method/db.collection.distinct.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_save] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.save.po -source_file = locale/pot/reference/method/db.collection.save.pot -source_lang = en - -[mongodb-manual.reference--method--db_grantRolesToRole] -file_filter = locale//LC_MESSAGES/reference/method/db.grantRolesToRole.po -source_file = locale/pot/reference/method/db.grantRolesToRole.pot -source_lang = en - -[mongodb-manual.reference--method--db_resetError] -file_filter = locale//LC_MESSAGES/reference/method/db.resetError.po -source_file = locale/pot/reference/method/db.resetError.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_totalSize] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.totalSize.po -source_file = locale/pot/reference/method/db.collection.totalSize.pot -source_lang = en - -[mongodb-manual.reference--method--quit] -file_filter = locale//LC_MESSAGES/reference/method/quit.po -source_file = locale/pot/reference/method/quit.pot -source_lang = en - -[mongodb-manual.reference--method--js-connection] -file_filter = locale//LC_MESSAGES/reference/method/js-connection.po -source_file = locale/pot/reference/method/js-connection.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_findOne] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.findOne.po -source_file = locale/pot/reference/method/db.collection.findOne.pot -source_lang = en - -[mongodb-manual.reference--method--db_createCollection] -file_filter = locale//LC_MESSAGES/reference/method/db.createCollection.po -source_file = locale/pot/reference/method/db.createCollection.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_findAndModify] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.findAndModify.po -source_file = locale/pot/reference/method/db.collection.findAndModify.pot -source_lang = en - -[mongodb-manual.reference--method--clearRawMongoProgramOutput] -file_filter = locale//LC_MESSAGES/reference/method/clearRawMongoProgramOutput.po -source_file = locale/pot/reference/method/clearRawMongoProgramOutput.pot -source_lang = en - -[mongodb-manual.reference--method--db_copyDatabase] -file_filter = locale//LC_MESSAGES/reference/method/db.copyDatabase.po -source_file = locale/pot/reference/method/db.copyDatabase.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_totalIndexSize] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.totalIndexSize.po -source_file = locale/pot/reference/method/db.collection.totalIndexSize.pot -source_lang = en - -[mongodb-manual.reference--method--connect] -file_filter = locale//LC_MESSAGES/reference/method/connect.po -source_file = locale/pot/reference/method/connect.pot -source_lang = en - -[mongodb-manual.reference--method--js-user-management] -file_filter = locale//LC_MESSAGES/reference/method/js-user-management.po -source_file = locale/pot/reference/method/js-user-management.pot -source_lang = en - -[mongodb-manual.reference--method--db_getRole] -file_filter = locale//LC_MESSAGES/reference/method/db.getRole.po -source_file = locale/pot/reference/method/db.getRole.pot -source_lang = en - -[mongodb-manual.reference--method--sh__checkMongos] -file_filter = locale//LC_MESSAGES/reference/method/sh._checkMongos.po -source_file = locale/pot/reference/method/sh._checkMongos.pot -source_lang = en - -[mongodb-manual.reference--method--waitProgram] -file_filter = locale//LC_MESSAGES/reference/method/waitProgram.po -source_file = locale/pot/reference/method/waitProgram.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo_getReadPrefMode] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.getReadPrefMode.po -source_file = locale/pot/reference/method/Mongo.getReadPrefMode.pot -source_lang = en - -[mongodb-manual.reference--method--db_getLastErrorObj] -file_filter = locale//LC_MESSAGES/reference/method/db.getLastErrorObj.po -source_file = locale/pot/reference/method/db.getLastErrorObj.pot -source_lang = en - -[mongodb-manual.reference--method--md5sumFile] -file_filter = locale//LC_MESSAGES/reference/method/md5sumFile.po -source_file = locale/pot/reference/method/md5sumFile.pot -source_lang = en - -[mongodb-manual.reference--method--db_createRole] -file_filter = locale//LC_MESSAGES/reference/method/db.createRole.po -source_file = locale/pot/reference/method/db.createRole.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_next] -file_filter = locale//LC_MESSAGES/reference/method/cursor.next.po -source_file = locale/pot/reference/method/cursor.next.pot -source_lang = en - -[mongodb-manual.reference--method--db_stats] -file_filter = locale//LC_MESSAGES/reference/method/db.stats.po -source_file = locale/pot/reference/method/db.stats.pot -source_lang = en - -[mongodb-manual.reference--method--db_dropAllUsers] -file_filter = locale//LC_MESSAGES/reference/method/db.dropAllUsers.po -source_file = locale/pot/reference/method/db.dropAllUsers.pot -source_lang = en - -[mongodb-manual.reference--method--db_serverStatus] -file_filter = locale//LC_MESSAGES/reference/method/db.serverStatus.po -source_file = locale/pot/reference/method/db.serverStatus.pot -source_lang = en - -[mongodb-manual.reference--method--db_dropAllRoles] -file_filter = locale//LC_MESSAGES/reference/method/db.dropAllRoles.po -source_file = locale/pot/reference/method/db.dropAllRoles.pot -source_lang = en - -[mongodb-manual.reference--method--fuzzFile] -file_filter = locale//LC_MESSAGES/reference/method/fuzzFile.po -source_file = locale/pot/reference/method/fuzzFile.pot -source_lang = en - -[mongodb-manual.reference--method--db_updateRole] -file_filter = locale//LC_MESSAGES/reference/method/db.updateRole.po -source_file = locale/pot/reference/method/db.updateRole.pot -source_lang = en - -[mongodb-manual.reference--method--sh_shardCollection] -file_filter = locale//LC_MESSAGES/reference/method/sh.shardCollection.po -source_file = locale/pot/reference/method/sh.shardCollection.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_getIndexes] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.getIndexes.po -source_file = locale/pot/reference/method/db.collection.getIndexes.pot -source_lang = en - -[mongodb-manual.reference--method--sh_setBalancerState] -file_filter = locale//LC_MESSAGES/reference/method/sh.setBalancerState.po -source_file = locale/pot/reference/method/sh.setBalancerState.pot -source_lang = en - -[mongodb-manual.reference--method--db_grantRolesToUser] -file_filter = locale//LC_MESSAGES/reference/method/db.grantRolesToUser.po -source_file = locale/pot/reference/method/db.grantRolesToUser.pot -source_lang = en - -[mongodb-manual.reference--method--js-database] -file_filter = locale//LC_MESSAGES/reference/method/js-database.po -source_file = locale/pot/reference/method/js-database.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_toArray] -file_filter = locale//LC_MESSAGES/reference/method/cursor.toArray.po -source_file = locale/pot/reference/method/cursor.toArray.pot -source_lang = en - -[mongodb-manual.reference--method--js-constructor] -file_filter = locale//LC_MESSAGES/reference/method/js-constructor.po -source_file = locale/pot/reference/method/js-constructor.pot -source_lang = en - -[mongodb-manual.reference--method--sh__lastMigration] -file_filter = locale//LC_MESSAGES/reference/method/sh._lastMigration.po -source_file = locale/pot/reference/method/sh._lastMigration.pot -source_lang = en - -[mongodb-manual.reference--method--sh_addTagRange] -file_filter = locale//LC_MESSAGES/reference/method/sh.addTagRange.po -source_file = locale/pot/reference/method/sh.addTagRange.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_mapReduce] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.mapReduce.po -source_file = locale/pot/reference/method/db.collection.mapReduce.pot -source_lang = en - -[mongodb-manual.reference--method--getMemInfo] -file_filter = locale//LC_MESSAGES/reference/method/getMemInfo.po -source_file = locale/pot/reference/method/getMemInfo.pot -source_lang = en - -[mongodb-manual.reference--method--db_printReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.printReplicationInfo.po -source_file = locale/pot/reference/method/db.printReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--db_getRoles] -file_filter = locale//LC_MESSAGES/reference/method/db.getRoles.po -source_file = locale/pot/reference/method/db.getRoles.pot -source_lang = en - -[mongodb-manual.reference--method--sh_splitAt] -file_filter = locale//LC_MESSAGES/reference/method/sh.splitAt.po -source_file = locale/pot/reference/method/sh.splitAt.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_createIndex] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.createIndex.po -source_file = locale/pot/reference/method/db.collection.createIndex.pot -source_lang = en - -[mongodb-manual.reference--method--sh_enableBalancing] -file_filter = locale//LC_MESSAGES/reference/method/sh.enableBalancing.po -source_file = locale/pot/reference/method/sh.enableBalancing.pot -source_lang = en - -[mongodb-manual.reference--method--db_auth] -file_filter = locale//LC_MESSAGES/reference/method/db.auth.po -source_file = locale/pot/reference/method/db.auth.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_count] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.count.po -source_file = locale/pot/reference/method/db.collection.count.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_explain] -file_filter = locale//LC_MESSAGES/reference/method/cursor.explain.po -source_file = locale/pot/reference/method/cursor.explain.pot -source_lang = en - -[mongodb-manual.reference--method--sh__adminCommand] -file_filter = locale//LC_MESSAGES/reference/method/sh._adminCommand.po -source_file = locale/pot/reference/method/sh._adminCommand.pot -source_lang = en - -[mongodb-manual.reference--method--db_getReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.getReplicationInfo.po -source_file = locale/pot/reference/method/db.getReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_hasNext] -file_filter = locale//LC_MESSAGES/reference/method/cursor.hasNext.po -source_file = locale/pot/reference/method/cursor.hasNext.pot -source_lang = en - -[mongodb-manual.reference--method--db_fsyncLock] -file_filter = locale//LC_MESSAGES/reference/method/db.fsyncLock.po -source_file = locale/pot/reference/method/db.fsyncLock.pot -source_lang = en - -[mongodb-manual.reference--method--db_eval] -file_filter = locale//LC_MESSAGES/reference/method/db.eval.po -source_file = locale/pot/reference/method/db.eval.pot -source_lang = en - -[mongodb-manual.reference--method--sh_waitForPingChange] -file_filter = locale//LC_MESSAGES/reference/method/sh.waitForPingChange.po -source_file = locale/pot/reference/method/sh.waitForPingChange.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_forEach] -file_filter = locale//LC_MESSAGES/reference/method/cursor.forEach.po -source_file = locale/pot/reference/method/cursor.forEach.pot -source_lang = en - -[mongodb-manual.reference--method--sh_getBalancerHost] -file_filter = locale//LC_MESSAGES/reference/method/sh.getBalancerHost.po -source_file = locale/pot/reference/method/sh.getBalancerHost.pot -source_lang = en - -[mongodb-manual.reference--method--rs_printReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/rs.printReplicationInfo.po -source_file = locale/pot/reference/method/rs.printReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--cd] -file_filter = locale//LC_MESSAGES/reference/method/cd.po -source_file = locale/pot/reference/method/cd.pot -source_lang = en - -[mongodb-manual.reference--method--js-native] -file_filter = locale//LC_MESSAGES/reference/method/js-native.po -source_file = locale/pot/reference/method/js-native.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_dropIndex] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.dropIndex.po -source_file = locale/pot/reference/method/db.collection.dropIndex.pot -source_lang = en - -[mongodb-manual.reference--method--stopMongoProgram] -file_filter = locale//LC_MESSAGES/reference/method/stopMongoProgram.po -source_file = locale/pot/reference/method/stopMongoProgram.pot -source_lang = en - -[mongodb-manual.reference--method--db_addUser] -file_filter = locale//LC_MESSAGES/reference/method/db.addUser.po -source_file = locale/pot/reference/method/db.addUser.pot -source_lang = en - -[mongodb-manual.reference--method--db_getUser] -file_filter = locale//LC_MESSAGES/reference/method/db.getUser.po -source_file = locale/pot/reference/method/db.getUser.pot -source_lang = en - -[mongodb-manual.reference--method--rs_status] -file_filter = locale//LC_MESSAGES/reference/method/rs.status.po -source_file = locale/pot/reference/method/rs.status.pot -source_lang = en - -[mongodb-manual.reference--method--db_revokeRolesFromRole] -file_filter = locale//LC_MESSAGES/reference/method/db.revokeRolesFromRole.po -source_file = locale/pot/reference/method/db.revokeRolesFromRole.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_stats] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.stats.po -source_file = locale/pot/reference/method/db.collection.stats.pot -source_lang = en - -[mongodb-manual.reference--method--Date] -file_filter = locale//LC_MESSAGES/reference/method/Date.po -source_file = locale/pot/reference/method/Date.pot -source_lang = en - -[mongodb-manual.reference--method--runProgram] -file_filter = locale//LC_MESSAGES/reference/method/runProgram.po -source_file = locale/pot/reference/method/runProgram.pot -source_lang = en - -[mongodb-manual.reference--method--db_grantPrivilegesToRole] -file_filter = locale//LC_MESSAGES/reference/method/db.grantPrivilegesToRole.po -source_file = locale/pot/reference/method/db.grantPrivilegesToRole.pot -source_lang = en - -[mongodb-manual.reference--method--rs_slaveOk] -file_filter = locale//LC_MESSAGES/reference/method/rs.slaveOk.po -source_file = locale/pot/reference/method/rs.slaveOk.pot -source_lang = en - -[mongodb-manual.reference--method--db_dropRole] -file_filter = locale//LC_MESSAGES/reference/method/db.dropRole.po -source_file = locale/pot/reference/method/db.dropRole.pot -source_lang = en - -[mongodb-manual.reference--method--sh_splitFind] -file_filter = locale//LC_MESSAGES/reference/method/sh.splitFind.po -source_file = locale/pot/reference/method/sh.splitFind.pot -source_lang = en - -[mongodb-manual.reference--method--db_setProfilingLevel] -file_filter = locale//LC_MESSAGES/reference/method/db.setProfilingLevel.po -source_file = locale/pot/reference/method/db.setProfilingLevel.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_indexStats] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.indexStats.po -source_file = locale/pot/reference/method/db.collection.indexStats.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_drop] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.drop.po -source_file = locale/pot/reference/method/db.collection.drop.pot -source_lang = en - -[mongodb-manual.reference--method--db_killOp] -file_filter = locale//LC_MESSAGES/reference/method/db.killOp.po -source_file = locale/pot/reference/method/db.killOp.pot -source_lang = en - -[mongodb-manual.reference--method--cat] -file_filter = locale//LC_MESSAGES/reference/method/cat.po -source_file = locale/pot/reference/method/cat.pot -source_lang = en - -[mongodb-manual.reference--method--sh_status] -file_filter = locale//LC_MESSAGES/reference/method/sh.status.po -source_file = locale/pot/reference/method/sh.status.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_size] -file_filter = locale//LC_MESSAGES/reference/method/cursor.size.po -source_file = locale/pot/reference/method/cursor.size.pot -source_lang = en - -[mongodb-manual.reference--method--db_getMongo] -file_filter = locale//LC_MESSAGES/reference/method/db.getMongo.po -source_file = locale/pot/reference/method/db.getMongo.pot -source_lang = en - -[mongodb-manual.reference--method--copyDbpath] -file_filter = locale//LC_MESSAGES/reference/method/copyDbpath.po -source_file = locale/pot/reference/method/copyDbpath.pot -source_lang = en - -[mongodb-manual.reference--method--rand] -file_filter = locale//LC_MESSAGES/reference/method/rand.po -source_file = locale/pot/reference/method/rand.pot -source_lang = en - -[mongodb-manual.reference--method--db_isMaster] -file_filter = locale//LC_MESSAGES/reference/method/db.isMaster.po -source_file = locale/pot/reference/method/db.isMaster.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_aggregate] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.aggregate.po -source_file = locale/pot/reference/method/db.collection.aggregate.pot -source_lang = en - -[mongodb-manual.reference--method--rs_stepDown] -file_filter = locale//LC_MESSAGES/reference/method/rs.stepDown.po -source_file = locale/pot/reference/method/rs.stepDown.pot -source_lang = en - -[mongodb-manual.reference--method--rs_help] -file_filter = locale//LC_MESSAGES/reference/method/rs.help.po -source_file = locale/pot/reference/method/rs.help.pot -source_lang = en - -[mongodb-manual.reference--method--db_getProfilingStatus] -file_filter = locale//LC_MESSAGES/reference/method/db.getProfilingStatus.po -source_file = locale/pot/reference/method/db.getProfilingStatus.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_find] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.find.po -source_file = locale/pot/reference/method/db.collection.find.pot -source_lang = en - -[mongodb-manual.reference--method--rs_add] -file_filter = locale//LC_MESSAGES/reference/method/rs.add.po -source_file = locale/pot/reference/method/rs.add.pot -source_lang = en - -[mongodb-manual.reference--method--sh_startBalancer] -file_filter = locale//LC_MESSAGES/reference/method/sh.startBalancer.po -source_file = locale/pot/reference/method/sh.startBalancer.pot -source_lang = en - -[mongodb-manual.reference--method--js-collection] -file_filter = locale//LC_MESSAGES/reference/method/js-collection.po -source_file = locale/pot/reference/method/js-collection.pot -source_lang = en - -[mongodb-manual.reference--method--db_revokeRolesFromUser] -file_filter = locale//LC_MESSAGES/reference/method/db.revokeRolesFromUser.po -source_file = locale/pot/reference/method/db.revokeRolesFromUser.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_hint] -file_filter = locale//LC_MESSAGES/reference/method/cursor.hint.po -source_file = locale/pot/reference/method/cursor.hint.pot -source_lang = en - -[mongodb-manual.reference--method--sh_enableSharding] -file_filter = locale//LC_MESSAGES/reference/method/sh.enableSharding.po -source_file = locale/pot/reference/method/sh.enableSharding.pot -source_lang = en - -[mongodb-manual.reference--method--db_logout] -file_filter = locale//LC_MESSAGES/reference/method/db.logout.po -source_file = locale/pot/reference/method/db.logout.pot -source_lang = en - -[mongodb-manual.reference--method--db_dropDatabase] -file_filter = locale//LC_MESSAGES/reference/method/db.dropDatabase.po -source_file = locale/pot/reference/method/db.dropDatabase.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_max] -file_filter = locale//LC_MESSAGES/reference/method/cursor.max.po -source_file = locale/pot/reference/method/cursor.max.pot -source_lang = en - -[mongodb-manual.reference--method--UUID] -file_filter = locale//LC_MESSAGES/reference/method/UUID.po -source_file = locale/pot/reference/method/UUID.pot -source_lang = en - -[mongodb-manual.reference--method--rs_addArb] -file_filter = locale//LC_MESSAGES/reference/method/rs.addArb.po -source_file = locale/pot/reference/method/rs.addArb.pot -source_lang = en - -[mongodb-manual.reference--method--load] -file_filter = locale//LC_MESSAGES/reference/method/load.po -source_file = locale/pot/reference/method/load.pot -source_lang = en - -[mongodb-manual.reference--method--rs_reconfig] -file_filter = locale//LC_MESSAGES/reference/method/rs.reconfig.po -source_file = locale/pot/reference/method/rs.reconfig.pot -source_lang = en - -[mongodb-manual.reference--method--removeFile] -file_filter = locale//LC_MESSAGES/reference/method/removeFile.po -source_file = locale/pot/reference/method/removeFile.pot -source_lang = en - -[mongodb-manual.reference--method--db_printCollectionStats] -file_filter = locale//LC_MESSAGES/reference/method/db.printCollectionStats.po -source_file = locale/pot/reference/method/db.printCollectionStats.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_getShardDistribution] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.getShardDistribution.po -source_file = locale/pot/reference/method/db.collection.getShardDistribution.pot -source_lang = en - -[mongodb-manual.reference--method--db_changeUserPassword] -file_filter = locale//LC_MESSAGES/reference/method/db.changeUserPassword.po -source_file = locale/pot/reference/method/db.changeUserPassword.pot -source_lang = en - -[mongodb-manual.reference--method--sh_waitForBalancerOff] -file_filter = locale//LC_MESSAGES/reference/method/sh.waitForBalancerOff.po -source_file = locale/pot/reference/method/sh.waitForBalancerOff.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_remove] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.remove.po -source_file = locale/pot/reference/method/db.collection.remove.pot -source_lang = en - -[mongodb-manual.reference--method--db_cloneDatabase] -file_filter = locale//LC_MESSAGES/reference/method/db.cloneDatabase.po -source_file = locale/pot/reference/method/db.cloneDatabase.pot -source_lang = en - -[mongodb-manual.reference--method--db_version] -file_filter = locale//LC_MESSAGES/reference/method/db.version.po -source_file = locale/pot/reference/method/db.version.pot -source_lang = en - -[mongodb-manual.reference--method--rs_syncFrom] -file_filter = locale//LC_MESSAGES/reference/method/rs.syncFrom.po -source_file = locale/pot/reference/method/rs.syncFrom.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_renameCollection] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.renameCollection.po -source_file = locale/pot/reference/method/db.collection.renameCollection.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_getIndexStats] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.getIndexStats.po -source_file = locale/pot/reference/method/db.collection.getIndexStats.pot -source_lang = en - -[mongodb-manual.reference--method--db_commandHelp] -file_filter = locale//LC_MESSAGES/reference/method/db.commandHelp.po -source_file = locale/pot/reference/method/db.commandHelp.pot -source_lang = en - -[mongodb-manual.reference--method--isWindows] -file_filter = locale//LC_MESSAGES/reference/method/isWindows.po -source_file = locale/pot/reference/method/isWindows.pot -source_lang = en - -[mongodb-manual.reference--method--js-subprocess] -file_filter = locale//LC_MESSAGES/reference/method/js-subprocess.po -source_file = locale/pot/reference/method/js-subprocess.pot -source_lang = en - -[mongodb-manual.reference--method--run] -file_filter = locale//LC_MESSAGES/reference/method/run.po -source_file = locale/pot/reference/method/run.pot -source_lang = en - -[mongodb-manual.reference--method--db_revokePrivilegesFromRole] -file_filter = locale//LC_MESSAGES/reference/method/db.revokePrivilegesFromRole.po -source_file = locale/pot/reference/method/db.revokePrivilegesFromRole.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_getShardVersion] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.getShardVersion.po -source_file = locale/pot/reference/method/db.collection.getShardVersion.pot -source_lang = en - -[mongodb-manual.reference--method--db_getLastError] -file_filter = locale//LC_MESSAGES/reference/method/db.getLastError.po -source_file = locale/pot/reference/method/db.getLastError.pot -source_lang = en - -[mongodb-manual.reference--method--db_createUser] -file_filter = locale//LC_MESSAGES/reference/method/db.createUser.po -source_file = locale/pot/reference/method/db.createUser.pot -source_lang = en - -[mongodb-manual.reference--method--resetDbpath] -file_filter = locale//LC_MESSAGES/reference/method/resetDbpath.po -source_file = locale/pot/reference/method/resetDbpath.pot -source_lang = en - -[mongodb-manual.reference--method--version] -file_filter = locale//LC_MESSAGES/reference/method/version.po -source_file = locale/pot/reference/method/version.pot -source_lang = en - -[mongodb-manual.reference--method--db_getProfilingLevel] -file_filter = locale//LC_MESSAGES/reference/method/db.getProfilingLevel.po -source_file = locale/pot/reference/method/db.getProfilingLevel.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_insert] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.insert.po -source_file = locale/pot/reference/method/db.collection.insert.pot -source_lang = en - -[mongodb-manual.reference--method--db_serverBuildInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.serverBuildInfo.po -source_file = locale/pot/reference/method/db.serverBuildInfo.pot -source_lang = en - -[mongodb-manual.reference--method--sh_getBalancerState] -file_filter = locale//LC_MESSAGES/reference/method/sh.getBalancerState.po -source_file = locale/pot/reference/method/sh.getBalancerState.pot -source_lang = en - -[mongodb-manual.reference--method--sh_addShard] -file_filter = locale//LC_MESSAGES/reference/method/sh.addShard.po -source_file = locale/pot/reference/method/sh.addShard.pot -source_lang = en - -[mongodb-manual.reference--method--db_getPrevError] -file_filter = locale//LC_MESSAGES/reference/method/db.getPrevError.po -source_file = locale/pot/reference/method/db.getPrevError.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.po -source_file = locale/pot/reference/method/Mongo.pot -source_lang = en - -[mongodb-manual.reference--method--db_hostInfo] -file_filter = locale//LC_MESSAGES/reference/method/db.hostInfo.po -source_file = locale/pot/reference/method/db.hostInfo.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_count] -file_filter = locale//LC_MESSAGES/reference/method/cursor.count.po -source_file = locale/pot/reference/method/cursor.count.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_copyTo] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.copyTo.po -source_file = locale/pot/reference/method/db.collection.copyTo.pot -source_lang = en - -[mongodb-manual.reference--method--rs_printSecondaryReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/rs.printSecondaryReplicationInfo.po -source_file = locale/pot/reference/method/rs.printSecondaryReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--rs_printSlaveReplicationInfo] -file_filter = locale//LC_MESSAGES/reference/method/rs.printSlaveReplicationInfo.po -source_file = locale/pot/reference/method/rs.printSlaveReplicationInfo.pot -source_lang = en - -[mongodb-manual.reference--method--runMongoProgram] -file_filter = locale//LC_MESSAGES/reference/method/runMongoProgram.po -source_file = locale/pot/reference/method/runMongoProgram.pot -source_lang = en - -[mongodb-manual.reference--method--js-role-management] -file_filter = locale//LC_MESSAGES/reference/method/js-role-management.po -source_file = locale/pot/reference/method/js-role-management.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_reIndex] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.reIndex.po -source_file = locale/pot/reference/method/db.collection.reIndex.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_min] -file_filter = locale//LC_MESSAGES/reference/method/cursor.min.po -source_file = locale/pot/reference/method/cursor.min.pot -source_lang = en - -[mongodb-manual.reference--method--db_updateUser] -file_filter = locale//LC_MESSAGES/reference/method/db.updateUser.po -source_file = locale/pot/reference/method/db.updateUser.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_batchSize] -file_filter = locale//LC_MESSAGES/reference/method/cursor.batchSize.po -source_file = locale/pot/reference/method/cursor.batchSize.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_addOption] -file_filter = locale//LC_MESSAGES/reference/method/cursor.addOption.po -source_file = locale/pot/reference/method/cursor.addOption.pot -source_lang = en - -[mongodb-manual.reference--method--rs_freeze] -file_filter = locale//LC_MESSAGES/reference/method/rs.freeze.po -source_file = locale/pot/reference/method/rs.freeze.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_map] -file_filter = locale//LC_MESSAGES/reference/method/cursor.map.po -source_file = locale/pot/reference/method/cursor.map.pot -source_lang = en - -[mongodb-manual.reference--method--rawMongoProgramOutput] -file_filter = locale//LC_MESSAGES/reference/method/rawMongoProgramOutput.po -source_file = locale/pot/reference/method/rawMongoProgramOutput.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_ensureIndex] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.ensureIndex.po -source_file = locale/pot/reference/method/db.collection.ensureIndex.pot -source_lang = en - -[mongodb-manual.reference--method--sh_addShardTag] -file_filter = locale//LC_MESSAGES/reference/method/sh.addShardTag.po -source_file = locale/pot/reference/method/sh.addShardTag.pot -source_lang = en - -[mongodb-manual.reference--method--db_currentOp] -file_filter = locale//LC_MESSAGES/reference/method/db.currentOp.po -source_file = locale/pot/reference/method/db.currentOp.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_dataSize] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.dataSize.po -source_file = locale/pot/reference/method/db.collection.dataSize.pot -source_lang = en - -[mongodb-manual.reference--method--db_getName] -file_filter = locale//LC_MESSAGES/reference/method/db.getName.po -source_file = locale/pot/reference/method/db.getName.pot -source_lang = en - -[mongodb-manual.reference--method--cursor_readPref] -file_filter = locale//LC_MESSAGES/reference/method/cursor.readPref.po -source_file = locale/pot/reference/method/cursor.readPref.pot -source_lang = en - -[mongodb-manual.reference--method--sh_stopBalancer] -file_filter = locale//LC_MESSAGES/reference/method/sh.stopBalancer.po -source_file = locale/pot/reference/method/sh.stopBalancer.pot -source_lang = en - -[mongodb-manual.reference--method--db_printShardingStatus] -file_filter = locale//LC_MESSAGES/reference/method/db.printShardingStatus.po -source_file = locale/pot/reference/method/db.printShardingStatus.pot -source_lang = en - -[mongodb-manual.reference--method--Mongo_setReadPref] -file_filter = locale//LC_MESSAGES/reference/method/Mongo.setReadPref.po -source_file = locale/pot/reference/method/Mongo.setReadPref.pot -source_lang = en - -[mongodb-manual.reference--method--db_getSiblingDB] -file_filter = locale//LC_MESSAGES/reference/method/db.getSiblingDB.po -source_file = locale/pot/reference/method/db.getSiblingDB.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_isCapped] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.isCapped.po -source_file = locale/pot/reference/method/db.collection.isCapped.pot -source_lang = en - -[mongodb-manual.reference--method--db_getCollection] -file_filter = locale//LC_MESSAGES/reference/method/db.getCollection.po -source_file = locale/pot/reference/method/db.getCollection.pot -source_lang = en - -[mongodb-manual.reference--method--sh_moveChunk] -file_filter = locale//LC_MESSAGES/reference/method/sh.moveChunk.po -source_file = locale/pot/reference/method/sh.moveChunk.pot -source_lang = en - -[mongodb-manual.reference--method--sh__checkFullName] -file_filter = locale//LC_MESSAGES/reference/method/sh._checkFullName.po -source_file = locale/pot/reference/method/sh._checkFullName.pot -source_lang = en - -[mongodb-manual.reference--method--ls] -file_filter = locale//LC_MESSAGES/reference/method/ls.po -source_file = locale/pot/reference/method/ls.pot -source_lang = en - -[mongodb-manual.core--aggregation-pipeline-optimization] -file_filter = locale//LC_MESSAGES/core/aggregation-pipeline-optimization.po -source_file = locale/pot/core/aggregation-pipeline-optimization.pot -source_lang = en - -[mongodb-manual.core--data-model-operations] -file_filter = locale//LC_MESSAGES/core/data-model-operations.po -source_file = locale/pot/core/data-model-operations.pot -source_lang = en - -[mongodb-manual.core--journaling] -file_filter = locale//LC_MESSAGES/core/journaling.po -source_file = locale/pot/core/journaling.pot -source_lang = en - -[mongodb-manual.core--tag-aware-sharding] -file_filter = locale//LC_MESSAGES/core/tag-aware-sharding.po -source_file = locale/pot/core/tag-aware-sharding.pot -source_lang = en - -[mongodb-manual.core--data-model-design] -file_filter = locale//LC_MESSAGES/core/data-model-design.po -source_file = locale/pot/core/data-model-design.pot -source_lang = en - -[mongodb-manual.core--single-purpose-aggregation] -file_filter = locale//LC_MESSAGES/core/single-purpose-aggregation.po -source_file = locale/pot/core/single-purpose-aggregation.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-architectures] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-architectures.po -source_file = locale/pot/core/sharded-cluster-architectures.pot -source_lang = en - -[mongodb-manual.core--query-optimization] -file_filter = locale//LC_MESSAGES/core/query-optimization.po -source_file = locale/pot/core/query-optimization.pot -source_lang = en - -[mongodb-manual.core--backups] -file_filter = locale//LC_MESSAGES/core/backups.po -source_file = locale/pot/core/backups.pot -source_lang = en - -[mongodb-manual.core--security-interface] -file_filter = locale//LC_MESSAGES/core/security-interface.po -source_file = locale/pot/core/security-interface.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-query-router] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-query-router.po -source_file = locale/pot/core/sharded-cluster-query-router.pot -source_lang = en - -[mongodb-manual.core--gridfs] -file_filter = locale//LC_MESSAGES/core/gridfs.po -source_file = locale/pot/core/gridfs.pot -source_lang = en - -[mongodb-manual.core--sharding-chunk-migration] -file_filter = locale//LC_MESSAGES/core/sharding-chunk-migration.po -source_file = locale/pot/core/sharding-chunk-migration.pot -source_lang = en - -[mongodb-manual.core--document] -file_filter = locale//LC_MESSAGES/core/document.po -source_file = locale/pot/core/document.pot -source_lang = en - -[mongodb-manual.core--map-reduce-concurrency] -file_filter = locale//LC_MESSAGES/core/map-reduce-concurrency.po -source_file = locale/pot/core/map-reduce-concurrency.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-requirements] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-requirements.po -source_file = locale/pot/core/sharded-cluster-requirements.pot -source_lang = en - -[mongodb-manual.core--replica-set-architecture-geographically-distributed] -file_filter = locale//LC_MESSAGES/core/replica-set-architecture-geographically-distributed.po -source_file = locale/pot/core/replica-set-architecture-geographically-distributed.pot -source_lang = en - -[mongodb-manual.core--index-creation] -file_filter = locale//LC_MESSAGES/core/index-creation.po -source_file = locale/pot/core/index-creation.pot -source_lang = en - -[mongodb-manual.core--replica-set-hidden-member] -file_filter = locale//LC_MESSAGES/core/replica-set-hidden-member.po -source_file = locale/pot/core/replica-set-hidden-member.pot -source_lang = en - -[mongodb-manual.core--sharding-shard-key-indexes] -file_filter = locale//LC_MESSAGES/core/sharding-shard-key-indexes.po -source_file = locale/pot/core/sharding-shard-key-indexes.pot -source_lang = en - -[mongodb-manual.core--data-modeling-introduction] -file_filter = locale//LC_MESSAGES/core/data-modeling-introduction.po -source_file = locale/pot/core/data-modeling-introduction.pot -source_lang = en - -[mongodb-manual.core--replica-set-architecture-four-members] -file_filter = locale//LC_MESSAGES/core/replica-set-architecture-four-members.po -source_file = locale/pot/core/replica-set-architecture-four-members.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-shards] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-shards.po -source_file = locale/pot/core/sharded-cluster-shards.pot -source_lang = en - -[mongodb-manual.core--administration] -file_filter = locale//LC_MESSAGES/core/administration.po -source_file = locale/pot/core/administration.pot -source_lang = en - -[mongodb-manual.core--aggregation-pipeline] -file_filter = locale//LC_MESSAGES/core/aggregation-pipeline.po -source_file = locale/pot/core/aggregation-pipeline.pot -source_lang = en - -[mongodb-manual.core--indexes] -file_filter = locale//LC_MESSAGES/core/indexes.po -source_file = locale/pot/core/indexes.pot -source_lang = en - -[mongodb-manual.core--index-multikey] -file_filter = locale//LC_MESSAGES/core/index-multikey.po -source_file = locale/pot/core/index-multikey.pot -source_lang = en - -[mongodb-manual.core--replication-introduction] -file_filter = locale//LC_MESSAGES/core/replication-introduction.po -source_file = locale/pot/core/replication-introduction.pot -source_lang = en - -[mongodb-manual.core--2d] -file_filter = locale//LC_MESSAGES/core/2d.po -source_file = locale/pot/core/2d.pot -source_lang = en - -[mongodb-manual.core--index-unique] -file_filter = locale//LC_MESSAGES/core/index-unique.po -source_file = locale/pot/core/index-unique.pot -source_lang = en - -[mongodb-manual.core--replica-set-write-concern] -file_filter = locale//LC_MESSAGES/core/replica-set-write-concern.po -source_file = locale/pot/core/replica-set-write-concern.pot -source_lang = en - -[mongodb-manual.core--replica-set-architecture-three-members] -file_filter = locale//LC_MESSAGES/core/replica-set-architecture-three-members.po -source_file = locale/pot/core/replica-set-architecture-three-members.pot -source_lang = en - -[mongodb-manual.core--replica-set-arbiter] -file_filter = locale//LC_MESSAGES/core/replica-set-arbiter.po -source_file = locale/pot/core/replica-set-arbiter.pot -source_lang = en - -[mongodb-manual.core--aggregation-mechanics] -file_filter = locale//LC_MESSAGES/core/aggregation-mechanics.po -source_file = locale/pot/core/aggregation-mechanics.pot -source_lang = en - -[mongodb-manual.core--index-text] -file_filter = locale//LC_MESSAGES/core/index-text.po -source_file = locale/pot/core/index-text.pot -source_lang = en - -[mongodb-manual.core--security-introduction] -file_filter = locale//LC_MESSAGES/core/security-introduction.po -source_file = locale/pot/core/security-introduction.pot -source_lang = en - -[mongodb-manual.core--replica-set-primary] -file_filter = locale//LC_MESSAGES/core/replica-set-primary.po -source_file = locale/pot/core/replica-set-primary.pot -source_lang = en - -[mongodb-manual.core--index-single] -file_filter = locale//LC_MESSAGES/core/index-single.po -source_file = locale/pot/core/index-single.pot -source_lang = en - -[mongodb-manual.core--import-export] -file_filter = locale//LC_MESSAGES/core/import-export.po -source_file = locale/pot/core/import-export.pot -source_lang = en - -[mongodb-manual.core--replica-set-secondary] -file_filter = locale//LC_MESSAGES/core/replica-set-secondary.po -source_file = locale/pot/core/replica-set-secondary.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-architectures-production] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-architectures-production.po -source_file = locale/pot/core/sharded-cluster-architectures-production.pot -source_lang = en - -[mongodb-manual.core--index-ttl] -file_filter = locale//LC_MESSAGES/core/index-ttl.po -source_file = locale/pot/core/index-ttl.pot -source_lang = en - -[mongodb-manual.core--index-sparse] -file_filter = locale//LC_MESSAGES/core/index-sparse.po -source_file = locale/pot/core/index-sparse.pot -source_lang = en - -[mongodb-manual.core--security] -file_filter = locale//LC_MESSAGES/core/security.po -source_file = locale/pot/core/security.pot -source_lang = en - -[mongodb-manual.core--index-types] -file_filter = locale//LC_MESSAGES/core/index-types.po -source_file = locale/pot/core/index-types.pot -source_lang = en - -[mongodb-manual.core--aggregation-pipeline-limits] -file_filter = locale//LC_MESSAGES/core/aggregation-pipeline-limits.po -source_file = locale/pot/core/aggregation-pipeline-limits.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-config-servers] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-config-servers.po -source_file = locale/pot/core/sharded-cluster-config-servers.pot -source_lang = en - -[mongodb-manual.core--index-compound] -file_filter = locale//LC_MESSAGES/core/index-compound.po -source_file = locale/pot/core/index-compound.pot -source_lang = en - -[mongodb-manual.core--replication-process] -file_filter = locale//LC_MESSAGES/core/replication-process.po -source_file = locale/pot/core/replication-process.pot -source_lang = en - -[mongodb-manual.core--capped-collections] -file_filter = locale//LC_MESSAGES/core/capped-collections.po -source_file = locale/pot/core/capped-collections.pot -source_lang = en - -[mongodb-manual.core--replica-set-elections] -file_filter = locale//LC_MESSAGES/core/replica-set-elections.po -source_file = locale/pot/core/replica-set-elections.pot -source_lang = en - -[mongodb-manual.core--geohaystack] -file_filter = locale//LC_MESSAGES/core/geohaystack.po -source_file = locale/pot/core/geohaystack.pot -source_lang = en - -[mongodb-manual.core--index-hashed] -file_filter = locale//LC_MESSAGES/core/index-hashed.po -source_file = locale/pot/core/index-hashed.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-architectures-test] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-architectures-test.po -source_file = locale/pot/core/sharded-cluster-architectures-test.pot -source_lang = en - -[mongodb-manual.core--replica-set-oplog] -file_filter = locale//LC_MESSAGES/core/replica-set-oplog.po -source_file = locale/pot/core/replica-set-oplog.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-metadata] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-metadata.po -source_file = locale/pot/core/sharded-cluster-metadata.pot -source_lang = en - -[mongodb-manual.core--read-preference] -file_filter = locale//LC_MESSAGES/core/read-preference.po -source_file = locale/pot/core/read-preference.pot -source_lang = en - -[mongodb-manual.core--master-slave] -file_filter = locale//LC_MESSAGES/core/master-slave.po -source_file = locale/pot/core/master-slave.pot -source_lang = en - -[mongodb-manual.core--distributed-write-operations] -file_filter = locale//LC_MESSAGES/core/distributed-write-operations.po -source_file = locale/pot/core/distributed-write-operations.pot -source_lang = en - -[mongodb-manual.core--sharding-balancing] -file_filter = locale//LC_MESSAGES/core/sharding-balancing.po -source_file = locale/pot/core/sharding-balancing.pot -source_lang = en - -[mongodb-manual.core--replica-set-high-availability] -file_filter = locale//LC_MESSAGES/core/replica-set-high-availability.po -source_file = locale/pot/core/replica-set-high-availability.pot -source_lang = en - -[mongodb-manual.core--introduction] -file_filter = locale//LC_MESSAGES/core/introduction.po -source_file = locale/pot/core/introduction.pot -source_lang = en - -[mongodb-manual.core--distributed-queries] -file_filter = locale//LC_MESSAGES/core/distributed-queries.po -source_file = locale/pot/core/distributed-queries.pot -source_lang = en - -[mongodb-manual.core--replica-set-priority-0-member] -file_filter = locale//LC_MESSAGES/core/replica-set-priority-0-member.po -source_file = locale/pot/core/replica-set-priority-0-member.pot -source_lang = en - -[mongodb-manual.core--query-plans] -file_filter = locale//LC_MESSAGES/core/query-plans.po -source_file = locale/pot/core/query-plans.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-operations] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-operations.po -source_file = locale/pot/core/sharded-cluster-operations.pot -source_lang = en - -[mongodb-manual.core--replica-set-sync] -file_filter = locale//LC_MESSAGES/core/replica-set-sync.po -source_file = locale/pot/core/replica-set-sync.pot -source_lang = en - -[mongodb-manual.core--sharding] -file_filter = locale//LC_MESSAGES/core/sharding.po -source_file = locale/pot/core/sharding.pot -source_lang = en - -[mongodb-manual.core--sharding-shard-key] -file_filter = locale//LC_MESSAGES/core/sharding-shard-key.po -source_file = locale/pot/core/sharding-shard-key.pot -source_lang = en - -[mongodb-manual.core--replica-set-architectures] -file_filter = locale//LC_MESSAGES/core/replica-set-architectures.po -source_file = locale/pot/core/replica-set-architectures.pot -source_lang = en - -[mongodb-manual.core--replica-set-members] -file_filter = locale//LC_MESSAGES/core/replica-set-members.po -source_file = locale/pot/core/replica-set-members.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-mechanics] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-mechanics.po -source_file = locale/pot/core/sharded-cluster-mechanics.pot -source_lang = en - -[mongodb-manual.core--write-operations] -file_filter = locale//LC_MESSAGES/core/write-operations.po -source_file = locale/pot/core/write-operations.pot -source_lang = en - -[mongodb-manual.core--server-side-javascript] -file_filter = locale//LC_MESSAGES/core/server-side-javascript.po -source_file = locale/pot/core/server-side-javascript.pot -source_lang = en - -[mongodb-manual.core--sharding-chunk-splitting] -file_filter = locale//LC_MESSAGES/core/sharding-chunk-splitting.po -source_file = locale/pot/core/sharding-chunk-splitting.pot -source_lang = en - -[mongodb-manual.core--crud] -file_filter = locale//LC_MESSAGES/core/crud.po -source_file = locale/pot/core/crud.pot -source_lang = en - -[mongodb-manual.core--write-concern] -file_filter = locale//LC_MESSAGES/core/write-concern.po -source_file = locale/pot/core/write-concern.pot -source_lang = en - -[mongodb-manual.core--operational-segregation] -file_filter = locale//LC_MESSAGES/core/operational-segregation.po -source_file = locale/pot/core/operational-segregation.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-components] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-components.po -source_file = locale/pot/core/sharded-cluster-components.pot -source_lang = en - -[mongodb-manual.core--auditing] -file_filter = locale//LC_MESSAGES/core/auditing.po -source_file = locale/pot/core/auditing.pot -source_lang = en - -[mongodb-manual.core--indexes-introduction] -file_filter = locale//LC_MESSAGES/core/indexes-introduction.po -source_file = locale/pot/core/indexes-introduction.pot -source_lang = en - -[mongodb-manual.core--shell-types] -file_filter = locale//LC_MESSAGES/core/shell-types.po -source_file = locale/pot/core/shell-types.pot -source_lang = en - -[mongodb-manual.core--data-models] -file_filter = locale//LC_MESSAGES/core/data-models.po -source_file = locale/pot/core/data-models.pot -source_lang = en - -[mongodb-manual.core--sharded-cluster-high-availability] -file_filter = locale//LC_MESSAGES/core/sharded-cluster-high-availability.po -source_file = locale/pot/core/sharded-cluster-high-availability.pot -source_lang = en - -[mongodb-manual.core--security-network] -file_filter = locale//LC_MESSAGES/core/security-network.po -source_file = locale/pot/core/security-network.pot -source_lang = en - -[mongodb-manual.core--map-reduce-sharded-collections] -file_filter = locale//LC_MESSAGES/core/map-reduce-sharded-collections.po -source_file = locale/pot/core/map-reduce-sharded-collections.pot -source_lang = en - -[mongodb-manual.core--index-properties] -file_filter = locale//LC_MESSAGES/core/index-properties.po -source_file = locale/pot/core/index-properties.pot -source_lang = en - -[mongodb-manual.core--replica-set-delayed-member] -file_filter = locale//LC_MESSAGES/core/replica-set-delayed-member.po -source_file = locale/pot/core/replica-set-delayed-member.pot -source_lang = en - -[mongodb-manual.core--geospatial-indexes] -file_filter = locale//LC_MESSAGES/core/geospatial-indexes.po -source_file = locale/pot/core/geospatial-indexes.pot -source_lang = en - -[mongodb-manual.core--sharding-introduction] -file_filter = locale//LC_MESSAGES/core/sharding-introduction.po -source_file = locale/pot/core/sharding-introduction.pot -source_lang = en - -[mongodb-manual.core--replication] -file_filter = locale//LC_MESSAGES/core/replication.po -source_file = locale/pot/core/replication.pot -source_lang = en - -[mongodb-manual.core--read-preference-mechanics] -file_filter = locale//LC_MESSAGES/core/read-preference-mechanics.po -source_file = locale/pot/core/read-preference-mechanics.pot -source_lang = en - -[mongodb-manual.core--aggregation-introduction] -file_filter = locale//LC_MESSAGES/core/aggregation-introduction.po -source_file = locale/pot/core/aggregation-introduction.pot -source_lang = en - -[mongodb-manual.core--map-reduce] -file_filter = locale//LC_MESSAGES/core/map-reduce.po -source_file = locale/pot/core/map-reduce.pot -source_lang = en - -[mongodb-manual.core--crud-introduction] -file_filter = locale//LC_MESSAGES/core/crud-introduction.po -source_file = locale/pot/core/crud-introduction.pot -source_lang = en - -[mongodb-manual.core--aggregation] -file_filter = locale//LC_MESSAGES/core/aggregation.po -source_file = locale/pot/core/aggregation.pot -source_lang = en - -[mongodb-manual.core--aggregation-pipeline-sharded-collections] -file_filter = locale//LC_MESSAGES/core/aggregation-pipeline-sharded-collections.po -source_file = locale/pot/core/aggregation-pipeline-sharded-collections.pot -source_lang = en - -[mongodb-manual.core--2dsphere] -file_filter = locale//LC_MESSAGES/core/2dsphere.po -source_file = locale/pot/core/2dsphere.pot -source_lang = en - -[mongodb-manual.core--bulk-inserts] -file_filter = locale//LC_MESSAGES/core/bulk-inserts.po -source_file = locale/pot/core/bulk-inserts.pot -source_lang = en - -[mongodb-manual.core--replica-set-rollbacks] -file_filter = locale//LC_MESSAGES/core/replica-set-rollbacks.po -source_file = locale/pot/core/replica-set-rollbacks.pot -source_lang = en - -[mongodb-manual.core--cursors] -file_filter = locale//LC_MESSAGES/core/cursors.po -source_file = locale/pot/core/cursors.pot -source_lang = en - -[mongodb-manual.core--write-performance] -file_filter = locale//LC_MESSAGES/core/write-performance.po -source_file = locale/pot/core/write-performance.pot -source_lang = en - -[mongodb-manual.core--read-operations] -file_filter = locale//LC_MESSAGES/core/read-operations.po -source_file = locale/pot/core/read-operations.pot -source_lang = en - -[mongodb-manual.tutorial--add-admin-user] -file_filter = locale//LC_MESSAGES/tutorial/add-admin-user.po -source_file = locale/pot/tutorial/add-admin-user.pot -source_lang = en - -[mongodb-manual.tutorial--verify-user-privileges] -file_filter = locale//LC_MESSAGES/tutorial/verify-user-privileges.po -source_file = locale/pot/tutorial/verify-user-privileges.pot -source_lang = en - -[mongodb-manual.tutorial--assign-role-to-user] -file_filter = locale//LC_MESSAGES/tutorial/assign-role-to-user.po -source_file = locale/pot/tutorial/assign-role-to-user.pot -source_lang = en - -[mongodb-manual.administration--security-checklist] -file_filter = locale//LC_MESSAGES/administration/security-checklist.po -source_file = locale/pot/administration/security-checklist.pot -source_lang = en - -[mongodb-manual.administration--security-user-role-management] -file_filter = locale//LC_MESSAGES/administration/security-user-role-management.po -source_file = locale/pot/administration/security-user-role-management.pot -source_lang = en - -[mongodb-manual.administration--install-enterprise] -file_filter = locale//LC_MESSAGES/administration/install-enterprise.po -source_file = locale/pot/administration/install-enterprise.pot -source_lang = en - -[mongodb-manual.tutorial--control-access-to-mongodb-windows-with-kerberos-authentication] -file_filter = locale//LC_MESSAGES/tutorial/control-access-to-mongodb-windows-with-kerberos-authentication.po -source_file = locale/pot/tutorial/control-access-to-mongodb-windows-with-kerberos-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--enable-authentication-without-bypass] -file_filter = locale//LC_MESSAGES/tutorial/enable-authentication-without-bypass.po -source_file = locale/pot/tutorial/enable-authentication-without-bypass.pot -source_lang = en - -[mongodb-manual.tutorial--troubleshoot-kerberos] -file_filter = locale//LC_MESSAGES/tutorial/troubleshoot-kerberos.po -source_file = locale/pot/tutorial/troubleshoot-kerberos.pot -source_lang = en - -[mongodb-manual.tutorial--text-search-in-aggregation] -file_filter = locale//LC_MESSAGES/tutorial/text-search-in-aggregation.po -source_file = locale/pot/tutorial/text-search-in-aggregation.pot -source_lang = en - -[mongodb-manual.tutorial--perform-maintence-on-replica-set-members] -file_filter = locale//LC_MESSAGES/tutorial/perform-maintence-on-replica-set-members.po -source_file = locale/pot/tutorial/perform-maintence-on-replica-set-members.pot -source_lang = en - -[mongodb-manual.tutorial--authenticate-as-client] -file_filter = locale//LC_MESSAGES/tutorial/authenticate-as-client.po -source_file = locale/pot/tutorial/authenticate-as-client.pot -source_lang = en - -[mongodb-manual.meta--includes] -file_filter = locale//LC_MESSAGES/meta/includes.po -source_file = locale/pot/meta/includes.pot -source_lang = en - -[mongodb-manual.reference--text-search-languages] -file_filter = locale//LC_MESSAGES/reference/text-search-languages.po -source_file = locale/pot/reference/text-search-languages.pot -source_lang = en - -[mongodb-manual.reference--audit-message] -file_filter = locale//LC_MESSAGES/reference/audit-message.po -source_file = locale/pot/reference/audit-message.pot -source_lang = en - -[mongodb-manual.reference--built-in-roles] -file_filter = locale//LC_MESSAGES/reference/built-in-roles.po -source_file = locale/pot/reference/built-in-roles.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-text-search] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-text-search.po -source_file = locale/pot/reference/operator/aggregation-text-search.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation--meta] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation/meta.po -source_file = locale/pot/reference/operator/aggregation/meta.pot -source_lang = en - -[mongodb-manual.release-notes--2_4-changelog] -file_filter = locale//LC_MESSAGES/release-notes/2.4-changelog.po -source_file = locale/pot/release-notes/2.4-changelog.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-compatibility] -file_filter = locale//LC_MESSAGES/release-notes/2.6-compatibility.po -source_file = locale/pot/release-notes/2.6-compatibility.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-downgrade] -file_filter = locale//LC_MESSAGES/release-notes/2.6-downgrade.po -source_file = locale/pot/release-notes/2.6-downgrade.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-upgrade-authorization] -file_filter = locale//LC_MESSAGES/release-notes/2.6-upgrade-authorization.po -source_file = locale/pot/release-notes/2.6-upgrade-authorization.pot -source_lang = en - -[mongodb-manual.administration--security-deployment] -file_filter = locale//LC_MESSAGES/administration/security-deployment.po -source_file = locale/pot/administration/security-deployment.pot -source_lang = en - -[mongodb-manual.tutorial--implement-redaction-with-multiple-tags] -file_filter = locale//LC_MESSAGES/tutorial/implement-redaction-with-multiple-tags.po -source_file = locale/pot/tutorial/implement-redaction-with-multiple-tags.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-ubuntu] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-ubuntu.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-ubuntu.pot -source_lang = en - -[mongodb-manual.tutorial--control-access-to-document-content-with-field-level-security] -file_filter = locale//LC_MESSAGES/tutorial/control-access-to-document-content-with-field-level-security.po -source_file = locale/pot/tutorial/control-access-to-document-content-with-field-level-security.pot -source_lang = en - -[mongodb-manual.tutorial--backup-with-mongodump] -file_filter = locale//LC_MESSAGES/tutorial/backup-with-mongodump.po -source_file = locale/pot/tutorial/backup-with-mongodump.pot -source_lang = en - -[mongodb-manual.tutorial--backup-with-filesystem-snapshots] -file_filter = locale//LC_MESSAGES/tutorial/backup-with-filesystem-snapshots.po -source_file = locale/pot/tutorial/backup-with-filesystem-snapshots.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-amazon] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-amazon.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-amazon.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-red-hat-or-centos] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-red-hat-or-centos.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-red-hat-or-centos.pot -source_lang = en - -[mongodb-manual.tutorial--deploy-replica-set-with-auth] -file_filter = locale//LC_MESSAGES/tutorial/deploy-replica-set-with-auth.po -source_file = locale/pot/tutorial/deploy-replica-set-with-auth.pot -source_lang = en - -[mongodb-manual.tutorial--change-own-password-and-custom-data] -file_filter = locale//LC_MESSAGES/tutorial/change-own-password-and-custom-data.po -source_file = locale/pot/tutorial/change-own-password-and-custom-data.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-suse] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-suse.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-suse.pot -source_lang = en - -[mongodb-manual.reference--aggregation-variables] -file_filter = locale//LC_MESSAGES/reference/aggregation-variables.po -source_file = locale/pot/reference/aggregation-variables.pot -source_lang = en - -[mongodb-manual.reference--operator--query--text] -file_filter = locale//LC_MESSAGES/reference/operator/query/text.po -source_file = locale/pot/reference/operator/query/text.pot -source_lang = en - -[mongodb-manual.reference--operator--projection--meta] -file_filter = locale//LC_MESSAGES/reference/operator/projection/meta.po -source_file = locale/pot/reference/operator/projection/meta.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheListFilters] -file_filter = locale//LC_MESSAGES/reference/command/planCacheListFilters.po -source_file = locale/pot/reference/command/planCacheListFilters.pot -source_lang = en - -[mongodb-manual.reference--command--createIndexes] -file_filter = locale//LC_MESSAGES/reference/command/createIndexes.po -source_file = locale/pot/reference/command/createIndexes.pot -source_lang = en - -[mongodb-manual.reference--command--invalidateUserCache] -file_filter = locale//LC_MESSAGES/reference/command/invalidateUserCache.po -source_file = locale/pot/reference/command/invalidateUserCache.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheClear] -file_filter = locale//LC_MESSAGES/reference/command/planCacheClear.po -source_file = locale/pot/reference/command/planCacheClear.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheSetFilter] -file_filter = locale//LC_MESSAGES/reference/command/planCacheSetFilter.po -source_file = locale/pot/reference/command/planCacheSetFilter.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheListPlans] -file_filter = locale//LC_MESSAGES/reference/command/planCacheListPlans.po -source_file = locale/pot/reference/command/planCacheListPlans.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheClearFilters] -file_filter = locale//LC_MESSAGES/reference/command/planCacheClearFilters.po -source_file = locale/pot/reference/command/planCacheClearFilters.pot -source_lang = en - -[mongodb-manual.reference--command--parallelCollectionScan] -file_filter = locale//LC_MESSAGES/reference/command/parallelCollectionScan.po -source_file = locale/pot/reference/command/parallelCollectionScan.pot -source_lang = en - -[mongodb-manual.reference--command--shardConnPoolStats] -file_filter = locale//LC_MESSAGES/reference/command/shardConnPoolStats.po -source_file = locale/pot/reference/command/shardConnPoolStats.pot -source_lang = en - -[mongodb-manual.reference--command--nav-plan-cache] -file_filter = locale//LC_MESSAGES/reference/command/nav-plan-cache.po -source_file = locale/pot/reference/command/nav-plan-cache.pot -source_lang = en - -[mongodb-manual.reference--command--authSchemaUpgrade] -file_filter = locale//LC_MESSAGES/reference/command/authSchemaUpgrade.po -source_file = locale/pot/reference/command/authSchemaUpgrade.pot -source_lang = en - -[mongodb-manual.reference--command--planCacheListQueryShapes] -file_filter = locale//LC_MESSAGES/reference/command/planCacheListQueryShapes.po -source_file = locale/pot/reference/command/planCacheListQueryShapes.pot -source_lang = en - -[mongodb-manual.reference--method--PlanCache_getPlansByQuery] -file_filter = locale//LC_MESSAGES/reference/method/PlanCache.getPlansByQuery.po -source_file = locale/pot/reference/method/PlanCache.getPlansByQuery.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_initializeUnorderedBulkOp] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.initializeUnorderedBulkOp.po -source_file = locale/pot/reference/method/db.collection.initializeUnorderedBulkOp.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_getPlanCache] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.getPlanCache.po -source_file = locale/pot/reference/method/db.collection.getPlanCache.pot -source_lang = en - -[mongodb-manual.reference--method--WriteResult] -file_filter = locale//LC_MESSAGES/reference/method/WriteResult.po -source_file = locale/pot/reference/method/WriteResult.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_upsert] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.upsert.po -source_file = locale/pot/reference/method/Bulk.find.upsert.pot -source_lang = en - -[mongodb-manual.reference--method--db_upgradeCheckAllDBs] -file_filter = locale//LC_MESSAGES/reference/method/db.upgradeCheckAllDBs.po -source_file = locale/pot/reference/method/db.upgradeCheckAllDBs.pot -source_lang = en - -[mongodb-manual.reference--method--WriteResult_hasWriteConcernError] -file_filter = locale//LC_MESSAGES/reference/method/WriteResult.hasWriteConcernError.po -source_file = locale/pot/reference/method/WriteResult.hasWriteConcernError.pot -source_lang = en - -[mongodb-manual.reference--method--db_upgradeCheck] -file_filter = locale//LC_MESSAGES/reference/method/db.upgradeCheck.po -source_file = locale/pot/reference/method/db.upgradeCheck.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.po -source_file = locale/pot/reference/method/Bulk.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_updateOne] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.updateOne.po -source_file = locale/pot/reference/method/Bulk.find.updateOne.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_execute] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.execute.po -source_file = locale/pot/reference/method/Bulk.execute.pot -source_lang = en - -[mongodb-manual.reference--method--db_collection_initializeOrderedBulkOp] -file_filter = locale//LC_MESSAGES/reference/method/db.collection.initializeOrderedBulkOp.po -source_file = locale/pot/reference/method/db.collection.initializeOrderedBulkOp.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_remove] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.remove.po -source_file = locale/pot/reference/method/Bulk.find.remove.pot -source_lang = en - -[mongodb-manual.reference--method--PlanCache_listQueryShapes] -file_filter = locale//LC_MESSAGES/reference/method/PlanCache.listQueryShapes.po -source_file = locale/pot/reference/method/PlanCache.listQueryShapes.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_replaceOne] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.replaceOne.po -source_file = locale/pot/reference/method/Bulk.find.replaceOne.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_removeOne] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.removeOne.po -source_file = locale/pot/reference/method/Bulk.find.removeOne.pot -source_lang = en - -[mongodb-manual.reference--method--PlanCache_help] -file_filter = locale//LC_MESSAGES/reference/method/PlanCache.help.po -source_file = locale/pot/reference/method/PlanCache.help.pot -source_lang = en - -[mongodb-manual.reference--method--PlanCache_clear] -file_filter = locale//LC_MESSAGES/reference/method/PlanCache.clear.po -source_file = locale/pot/reference/method/PlanCache.clear.pot -source_lang = en - -[mongodb-manual.reference--method--js-bulk] -file_filter = locale//LC_MESSAGES/reference/method/js-bulk.po -source_file = locale/pot/reference/method/js-bulk.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.po -source_file = locale/pot/reference/method/Bulk.find.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_insert] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.insert.po -source_file = locale/pot/reference/method/Bulk.insert.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_find_update] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.find.update.po -source_file = locale/pot/reference/method/Bulk.find.update.pot -source_lang = en - -[mongodb-manual.reference--method--PlanCache_clearPlansByQuery] -file_filter = locale//LC_MESSAGES/reference/method/PlanCache.clearPlansByQuery.po -source_file = locale/pot/reference/method/PlanCache.clearPlansByQuery.pot -source_lang = en - -[mongodb-manual.reference--method--js-plan-cache] -file_filter = locale//LC_MESSAGES/reference/method/js-plan-cache.po -source_file = locale/pot/reference/method/js-plan-cache.pot -source_lang = en - -[mongodb-manual.reference--method--WriteResult_hasWriteError] -file_filter = locale//LC_MESSAGES/reference/method/WriteResult.hasWriteError.po -source_file = locale/pot/reference/method/WriteResult.hasWriteError.pot -source_lang = en - -[mongodb-manual.core--kerberos] -file_filter = locale//LC_MESSAGES/core/kerberos.po -source_file = locale/pot/core/kerberos.pot -source_lang = en - -[mongodb-manual.core--authorization] -file_filter = locale//LC_MESSAGES/core/authorization.po -source_file = locale/pot/core/authorization.pot -source_lang = en - -[mongodb-manual.core--authentication] -file_filter = locale//LC_MESSAGES/core/authentication.po -source_file = locale/pot/core/authentication.pot -source_lang = en - -[mongodb-manual.core--storage] -file_filter = locale//LC_MESSAGES/core/storage.po -source_file = locale/pot/core/storage.pot -source_lang = en - -[mongodb-manual.core--read-operations-introduction] -file_filter = locale//LC_MESSAGES/core/read-operations-introduction.po -source_file = locale/pot/core/read-operations-introduction.pot -source_lang = en - -[mongodb-manual.core--write-operations-introduction] -file_filter = locale//LC_MESSAGES/core/write-operations-introduction.po -source_file = locale/pot/core/write-operations-introduction.pot -source_lang = en - -[mongodb-manual.core--index-intersection] -file_filter = locale//LC_MESSAGES/core/index-intersection.po -source_file = locale/pot/core/index-intersection.pot -source_lang = en - -[mongodb-manual.release-notes--2_6-changelog] -file_filter = locale//LC_MESSAGES/release-notes/2.6-changelog.po -source_file = locale/pot/release-notes/2.6-changelog.pot -source_lang = en - -[mongodb-manual.tutorial--implement-field-level-redaction] -file_filter = locale//LC_MESSAGES/tutorial/implement-field-level-redaction.po -source_file = locale/pot/tutorial/implement-field-level-redaction.pot -source_lang = en - -[mongodb-manual.tutorial--install-mongodb-enterprise-on-debian] -file_filter = locale//LC_MESSAGES/tutorial/install-mongodb-enterprise-on-debian.po -source_file = locale/pot/tutorial/install-mongodb-enterprise-on-debian.pot -source_lang = en - -[mongodb-manual.tutorial--configure-ldap-sasl-activedirectory] -file_filter = locale//LC_MESSAGES/tutorial/configure-ldap-sasl-activedirectory.po -source_file = locale/pot/tutorial/configure-ldap-sasl-activedirectory.pot -source_lang = en - -[mongodb-manual.tutorial--configure-ldap-sasl-openldap] -file_filter = locale//LC_MESSAGES/tutorial/configure-ldap-sasl-openldap.po -source_file = locale/pot/tutorial/configure-ldap-sasl-openldap.pot -source_lang = en - -[mongodb-manual.tutorial--configure-ssl-clients] -file_filter = locale//LC_MESSAGES/tutorial/configure-ssl-clients.po -source_file = locale/pot/tutorial/configure-ssl-clients.pot -source_lang = en - -[mongodb-manual.tutorial--model-monetary-data] -file_filter = locale//LC_MESSAGES/tutorial/model-monetary-data.po -source_file = locale/pot/tutorial/model-monetary-data.pot -source_lang = en - -[mongodb-manual.tutorial--configure-fips] -file_filter = locale//LC_MESSAGES/tutorial/configure-fips.po -source_file = locale/pot/tutorial/configure-fips.pot -source_lang = en - -[mongodb-manual.tutorial--configure-x509-client-authentication] -file_filter = locale//LC_MESSAGES/tutorial/configure-x509-client-authentication.po -source_file = locale/pot/tutorial/configure-x509-client-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--configure-x509-member-authentication] -file_filter = locale//LC_MESSAGES/tutorial/configure-x509-member-authentication.po -source_file = locale/pot/tutorial/configure-x509-member-authentication.pot -source_lang = en - -[mongodb-manual.tutorial--verify-mongodb-packages] -file_filter = locale//LC_MESSAGES/tutorial/verify-mongodb-packages.po -source_file = locale/pot/tutorial/verify-mongodb-packages.pot -source_lang = en - -[mongodb-manual.tutorial--modify-an-index] -file_filter = locale//LC_MESSAGES/tutorial/modify-an-index.po -source_file = locale/pot/tutorial/modify-an-index.pot -source_lang = en - -[mongodb-manual.meta--aggregation-quick-reference] -file_filter = locale//LC_MESSAGES/meta/aggregation-quick-reference.po -source_file = locale/pot/meta/aggregation-quick-reference.pot -source_lang = en - -[mongodb-manual.reference--operator--aggregation-literal] -file_filter = locale//LC_MESSAGES/reference/operator/aggregation-literal.po -source_file = locale/pot/reference/operator/aggregation-literal.pot -source_lang = en - -[mongodb-manual.reference--operator--query--minDistance] -file_filter = locale//LC_MESSAGES/reference/operator/query/minDistance.po -source_file = locale/pot/reference/operator/query/minDistance.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_toString] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.toString.po -source_file = locale/pot/reference/method/Bulk.toString.pot -source_lang = en - -[mongodb-manual.reference--method--BulkWriteResult] -file_filter = locale//LC_MESSAGES/reference/method/BulkWriteResult.po -source_file = locale/pot/reference/method/BulkWriteResult.pot -source_lang = en - -[mongodb-manual.reference--method--db_serverCmdLineOpts] -file_filter = locale//LC_MESSAGES/reference/method/db.serverCmdLineOpts.po -source_file = locale/pot/reference/method/db.serverCmdLineOpts.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_getOperations] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.getOperations.po -source_file = locale/pot/reference/method/Bulk.getOperations.pot -source_lang = en - -[mongodb-manual.reference--method--Bulk_tojson] -file_filter = locale//LC_MESSAGES/reference/method/Bulk.tojson.po -source_file = locale/pot/reference/method/Bulk.tojson.pot -source_lang = en - -[mongodb-manual.core--collection-level-access-control] -file_filter = locale//LC_MESSAGES/core/collection-level-access-control.po -source_file = locale/pot/core/collection-level-access-control.pot -source_lang = en - diff --git a/config/changelog_conf.yaml b/config/changelog_conf.yaml index 53ca2182d3b..7ad730c3445 100644 --- a/config/changelog_conf.yaml +++ b/config/changelog_conf.yaml @@ -29,6 +29,9 @@ groups: - JavaScript "WiredTiger": - Block cache + - Truncate + - APIs + - Test Format - WiredTiger "MMAP": - MMAPv1 diff --git a/config/redirects b/config/redirects index 8904d2c67c2..23c462f3013 100644 --- a/config/redirects +++ b/config/redirects @@ -2532,12 +2532,6 @@ raw: ${prefix}/${version}/applications/drivers -> ${base}/drivers/ [v4.2-*]: ${prefix}/${version}support/ -> ${base}/${version}/support [v4.2-*]: ${prefix}/${version}tutorial/resync-replica-set-member/ -> ${base}/${version}/tutorial/resync-replica-set-member/ -# DOCSP-32198 Redirect removed page -[v7.0-*]: ${prefix}/${version}/tutorial/upgrade-revision -> ${base}/${version}/release-notes/ - -## DOCSP-29667 New page for bulkWrite -[*-v7.1): ${prefix}/${version}/reference/command/bulkWrite -> ${base}/${version}/reference/command/ - # DOCSP-31908 Removing free monitoring pages after decomission [*]: ${prefix}/${version}/reference/method/db.enableFreeMonitoring -> ${base}/${version}/administration/free-monitoring/ [*]: ${prefix}/${version}/reference/method/db.disableFreeMonitoring -> ${base}/${version}/administration/free-monitoring/ @@ -2573,3 +2567,6 @@ raw: https://mongodb.github.io/mongo-java-driver/ -> ${base}/drivers/java/sync/c [*-v6.3]: ${prefix}/${version}/data-modeling/schema-design-process/map-relationships -> ${base}/${version}/core/data-modeling-introduction [v7.0-*]: ${prefix}/${version}/core/data-modeling-introduction -> ${base}/${version}/data-modeling [v7.0-*]: ${prefix}/${version}/core/data-model-design -> ${base}/${version}/data-modeling/embedding-vs-references + +# DOCSP-35889 +(v6.1-*]: ${prefix}/${version}/reference/operator/aggregation/first-array-element -> ${base}/${version}/reference/operator/aggregation/first/ diff --git a/draft/commands-locks.txt b/draft/commands-locks.txt index 171545fb27b..93f7ac051f3 100644 --- a/draft/commands-locks.txt +++ b/draft/commands-locks.txt @@ -265,10 +265,6 @@ command>` in MongoDB. - - - - * - :dbcommand:`medianKey` - - - - - - * - :dbcommand:`moveChunk` - - diff --git a/snooty.toml b/snooty.toml index d61dbf175e0..3dc8a8e1d5a 100644 --- a/snooty.toml +++ b/snooty.toml @@ -201,14 +201,17 @@ toc_landing_pages = [ "/release-notes/4.4-downgrade", "/release-notes/4.4", "/release-notes/5.0", + "/release-notes/5.0-downgrade", "/release-notes/5.1", "/release-notes/5.2", "/release-notes/5.3", "/release-notes/6.0", + "/release-notes/6.0-downgrade", "/release-notes/6.1", "/release-notes/6.2", "/release-notes/6.3", "/release-notes/7.0", + "/release-notes/7.0-downgrade", "/release-notes/7.1", "/release-notes/7.2", "/release-notes/7.3", @@ -249,7 +252,7 @@ sbe-short = "slot-based execution engine" sbe-title = "Slot-Based Query Execution Engine" version = "{+version+}" version-last = "{+version-last+}" -year = "2023" +year = "2024" ui-org-menu = ":icon-mms:`office` :guilabel:`Organizations` menu" [constants] @@ -263,10 +266,11 @@ package-name-org = "mongodb-org" package-name-enterprise = "mongodb-enterprise" package-name = "mongodb" version = "7.3" +current-rapid-release = "7.2" latest-lts-version = "7.0" last-supported-version = "5.0" -release = "7.1.1" -version-dev = "7.2" +release = "7.2.0" +version-dev = "7.3" version-last = "6.0" pgp-version = "{+version+}" rsa-key = "4B7C549A058F8B6B" @@ -389,7 +393,8 @@ targets = [ ] variant = "danger" value = """ - OpenID Connect is currently available in Public Preview. + OpenID Connect is currently available in Public Preview and is only supported + on Linux binaries. """ [bundle] manpages = "manpages.tar.gz" diff --git a/source/administration/configuration-and-maintenance.txt b/source/administration/configuration-and-maintenance.txt index 00b216f94e1..4d245603167 100644 --- a/source/administration/configuration-and-maintenance.txt +++ b/source/administration/configuration-and-maintenance.txt @@ -13,6 +13,10 @@ updating your MongoDB deployment's configuration. Outlines common MongoDB configurations and examples of best-practice configurations for common use cases. +:ref:`upgrade-to-latest-revision` + Upgrade a MongoDB deployment to a different patch release + within the same major release series. + :doc:`/tutorial/manage-mongodb-processes` Start, configure, and manage running :binary:`~bin.mongod` process. @@ -30,6 +34,7 @@ updating your MongoDB deployment's configuration. :hidden: /administration/configuration + /tutorial/upgrade-revision /tutorial/manage-mongodb-processes /tutorial/terminate-running-operations /tutorial/rotate-log-files diff --git a/source/administration/connection-pool-overview.txt b/source/administration/connection-pool-overview.txt index 4c213b7826a..19a4307657f 100644 --- a/source/administration/connection-pool-overview.txt +++ b/source/administration/connection-pool-overview.txt @@ -4,6 +4,10 @@ Connection Pool Overview ======================== +.. facet:: + :name: genre + :values: reference + .. default-domain:: mongodb .. contents:: On this page @@ -79,13 +83,13 @@ to be established. Connection Pool Configuration Settings -------------------------------------- -To configure the connection pool, set the options: +You can specify connection pool settings in these locations: -- through the :ref:`MongoDB URI `, +- The :ref:`MongoDB URI ` -- programmatically when building the ``MongoClient`` instance, or +- Your application's ``MongoClient`` instance -- in your application framework's configuration files. +- Your application framework's configuration files Settings ~~~~~~~~ @@ -97,6 +101,33 @@ Settings * - Setting - Description + * - :urioption:`connectTimeoutMS` + + - Most drivers default to never time out. Some versions of the + Java drivers (for example, version 3.7) default to ``10``. + + *Default:* ``0`` for most drivers. See your :driver:`driver ` + documentation. + + * - :urioption:`maxConnecting` + + - Maximum number of connections a pool may be establishing + concurrently. + + ``maxConnecting`` is supported for all drivers **except** the + :driver:`Rust Driver `. + + .. include:: /includes/connection-pool/max-connecting-use-case.rst + + *Default:* ``2`` + + * - :urioption:`maxIdleTimeMS` + + - The maximum number of milliseconds that a connection can + remain idle in the pool before being removed and closed. + + *Default:* See your :driver:`driver ` documentation. + * - :urioption:`maxPoolSize` - .. _maxpoolsize-cp-setting: @@ -118,51 +149,31 @@ Settings *Default*: ``0`` - * - :urioption:`connectTimeoutMS` - - - Most drivers default to never time out. Some versions of the - Java drivers (for example, version 3.7) default to ``10``. - - *Default:* ``0`` for most drivers. See your :driver:`driver ` - documentation. + * - :parameter:`ShardingTaskExecutorPoolMaxSize` - * - :urioption:`socketTimeoutMS` + - Maximum number of outbound connections each TaskExecutor + connection pool can open to any given :binary:`~bin.mongod` + instance. - - Number of milliseconds to wait before timeout on a TCP - connection. - - Do *not* use :urioption:`socketTimeoutMS` as a mechanism for - preventing long-running server operations. + *Default*: 2\ :sup:`64` - 1 - Setting low socket timeouts may result in operations that error - before the server responds. - - *Default*: ``0``, which means no timeout. See your - :driver:`driver ` documentation. + Parameter only applies to sharded deployments. - * - :urioption:`maxIdleTimeMS` - - - The maximum number of milliseconds that a connection can - remain idle in the pool before being removed and closed. + * - :parameter:`ShardingTaskExecutorPoolMaxSizeForConfigServers` - *Default:* See your :driver:`driver ` documentation. + - .. include:: /includes/ShardingTaskExecutorPoolMaxSizeForConfigServers-parameter.rst - * - :urioption:`waitQueueTimeoutMS` + *Default*: ``-1`` - - Maximum wait time in milliseconds that a can thread wait for - a connection to become available. A value of ``0`` means there - is no limit. + .. versionadded:: 6.0 - *Default*: ``0``. See your :driver:`driver ` documentation. - * - :parameter:`ShardingTaskExecutorPoolMinSize` - Minimum number of outbound connections each TaskExecutor connection pool can open to any given :binary:`~bin.mongod` instance. - *Default*: ``1``. See - :parameter:`ShardingTaskExecutorPoolMinSize`. + *Default*: ``1`` Parameter only applies to sharded deployments. @@ -174,24 +185,26 @@ Settings .. versionadded:: 6.0 - * - :parameter:`ShardingTaskExecutorPoolMaxSize` - - - Maximum number of outbound connections each TaskExecutor - connection pool can open to any given :binary:`~bin.mongod` - instance. - - *Default*: 2\ :sup:`64` - 1. See - :parameter:`ShardingTaskExecutorPoolMaxSize`. + * - :urioption:`socketTimeoutMS` - Parameter only applies to sharded deployments. + - Number of milliseconds to wait before timeout on a TCP + connection. + + Do *not* use :urioption:`socketTimeoutMS` as a mechanism for + preventing long-running server operations. - * - :parameter:`ShardingTaskExecutorPoolMaxSizeForConfigServers` + Setting low socket timeouts may result in operations that error + before the server responds. + + *Default*: ``0``, which means no timeout. - - .. include:: /includes/ShardingTaskExecutorPoolMaxSizeForConfigServers-parameter.rst + * - :urioption:`waitQueueTimeoutMS` - *Default*: ``-1`` + - Maximum wait time in milliseconds that a can thread wait for + a connection to become available. A value of ``0`` means there + is no limit. - .. versionadded:: 6.0 + *Default*: ``0`` .. toctree:: :titlesonly: diff --git a/source/administration/production-checklist-operations.txt b/source/administration/production-checklist-operations.txt index 46b30300099..1c6563ac2f3 100644 --- a/source/administration/production-checklist-operations.txt +++ b/source/administration/production-checklist-operations.txt @@ -6,6 +6,10 @@ Operations Checklist .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -275,3 +279,9 @@ Load Balancing - Avoid placing load balancers between MongoDB cluster or replica set components. + +Security +~~~~~~~~ + +For a list of security measures to protect your MongoDB installation, +see the :ref:`MongoDB Security Checklist `. diff --git a/source/administration/production-notes.txt b/source/administration/production-notes.txt index abcf78c93d3..0b0d809e891 100644 --- a/source/administration/production-notes.txt +++ b/source/administration/production-notes.txt @@ -46,7 +46,6 @@ x86_64 ~~~~~~ MongoDB requires the following minimum ``x86_64`` microarchitectures: -[#microarch-intel]_ - For Intel ``x86_64``, MongoDB requires one of: @@ -114,31 +113,22 @@ Recommended Platforms While MongoDB supports a variety of platforms, the following operating systems are recommended for production use on ``x86_64`` architecture: -- Amazon Linux 2 -- Debian 10 -- :abbr:`RHEL (Red Hat Enterprise Linux)` / CentOS 7 and 8 [#rocky-almalinux]_ -- SLES 12 and 15 -- Ubuntu LTS 20.04 and 22.04 -- Windows Server 2016 and 2019 +- Amazon Linux +- Debian +- :abbr:`RHEL (Red Hat Enterprise Linux)` [#rocky-almalinux]_ +- SLES +- Ubuntu LTS +- Windows Server -.. [#oracle-linux] - - MongoDB only supports Oracle Linux running the Red Hat Compatible - Kernel (RHCK). MongoDB does **not** support the Unbreakable - Enterprise Kernel (UEK). - -.. [#microarch-intel] - - MongoDB 5.0 requires use of the AVX instruction set, available on - `select Intel and AMD processors - `__. +For best results, run the latest version of your platform. If you run an +older version, make sure that your version is supported by its provider. .. [#rocky-almalinux] - MongoDB on-premises products released for RHEL version 8.0+ are - compatible with and supported on Rocky Linux version 8.0+ and - AlmaLinux version 8.0+, contingent upon those distributions meeting their - obligation to deliver full RHEL compatibility. + MongoDB on-premises products released for RHEL version 8.0+ are + compatible with Rocky Linux version 8.0+ and AlmaLinux version 8.0+, + contingent upon those distributions meeting their obligation to + deliver full RHEL compatibility. .. seealso:: @@ -149,13 +139,25 @@ Use the Latest Stable Packages Be sure you have the latest stable release. -All MongoDB releases are available on the :dl:`MongoDB Download Center <>` -page. The :dl:`MongoDB Download Center <>` is a good place to verify the -current stable release, even if you are installing via a package -manager. +MongoDB releases are available on the MongoDB Download Center: + +- `MongoDB Enterprise Advanced + `_ +- `MongoDB Community Edition + `_ + +For details on upgrading to the most current minor release, see +:ref:`upgrade-to-latest-revision`. -For other MongoDB products, refer either to the :dl:`MongoDB Download Center <>` -page or their `respective documentation `_. +The following related packages are also available on the MongoDB +Download Center: + +- `Tools `_ +- `Atlas SQL Interface `_ +- `Mobile & Edge `_ + +For other MongoDB products, see their `respective documentation +`_. MongoDB ``dbPath`` ------------------ @@ -789,6 +791,14 @@ MongoDB performs best where swapping can be avoided or kept to a minimum. As such you should set ``vm.swappiness`` to either ``1`` or ``0`` depending on your application needs and cluster configuration. +.. note:: + + Most system and user processes run within a cgroup, which, by default, sets + the ``vm.swappiness`` to ``60``. If you are running + :abbr:`RHEL (Red Hat Enterprise Linux)` / CentOS, set + ``vm.force_cgroup_v2_swappiness`` to ``1`` to ensure that the specified + ``vm.swappiness`` value overrides any cgroup defaults. + .. [#swappiness-kernel-version] With Linux kernel versions previous to ``3.5``, or diff --git a/source/administration/sharded-cluster-administration.txt b/source/administration/sharded-cluster-administration.txt index 9a641ff55a3..8613a60f5d5 100644 --- a/source/administration/sharded-cluster-administration.txt +++ b/source/administration/sharded-cluster-administration.txt @@ -28,6 +28,7 @@ Sharded Cluster Administration /tutorial/backup-sharded-cluster-metadata /tutorial/convert-sharded-cluster-to-replica-set /tutorial/convert-replica-set-to-replicated-shard-cluster + /tutorial/drop-a-hashed-shard-key-index :doc:`Config Server Administration ` This section contains articles and tutorials related to sharded @@ -67,3 +68,5 @@ Sharded Cluster Administration Convert a replica set to a sharded cluster in which each shard is its own replica set. +:doc:`/tutorial/drop-a-hashed-shard-key-index` + Drop a Hashed Shard Key Index. diff --git a/source/changeStreams.txt b/source/changeStreams.txt index aba3df3d581..bd46d4a58b9 100644 --- a/source/changeStreams.txt +++ b/source/changeStreams.txt @@ -29,7 +29,7 @@ Change Streams :keywords: database triggers, real time, code example, node.js, java sync, motor, swift sync, swift async Change streams allow applications to access real-time data changes -without the complexity and risk of tailing the :term:`oplog`. +without the prior complexity and risk of manually tailing the :term:`oplog`. Applications can use change streams to subscribe to all data changes on a single collection, a database, or an entire deployment, and immediately react to them. Because change streams use the aggregation diff --git a/source/core/csfle/reference/compatibility.txt b/source/core/csfle/reference/compatibility.txt index 6bfbe0bbbee..931ad7c0f43 100644 --- a/source/core/csfle/reference/compatibility.txt +++ b/source/core/csfle/reference/compatibility.txt @@ -1,3 +1,11 @@ +.. facet:: + :name: genre + :values: reference + +.. facet:: + :name: programming_language + :values: csharp, go, java, javascript/typescript, php, python, ruby, rust, scala + .. _csfle-compatibility-reference: .. _field-level-encryption-drivers: .. _csfle-driver-compatibility: @@ -39,14 +47,14 @@ versions or later: - | `Node.js Quickstart `__ | :driver:`Client-Side Field Level Encryption Guide ` - * - :driver:`Java ` - - ``3.12.0+`` + * - :driver:`Java (Synchronous) ` + - ``3.11.0+`` - | `Java Driver Quickstart `__ | `Java Async Driver Quickstart `__ | :driver:`Client-Side Field Level Encryption Guide ` * - `Java Reactive Streams `__ - - ``1.13.0+`` + - ``1.12.0+`` - `Java RS Documentation `__ * - :driver:`Python (PyMongo) ` @@ -58,6 +66,10 @@ versions or later: - ``2.10.0+`` - `.NET Driver Quickstart `__ + * - :driver:`C++ ` + - ``3.6.0`` + - `C Driver Client-Side Field Level Encryption `__ + * - :driver:`C ` - ``1.17.5`` - `C Driver Client-Side Field Level Encryption `__ @@ -67,7 +79,7 @@ versions or later: - `Go Driver Quickstart `__ * - :driver:`Scala ` - - ``2.8.0+`` + - ``2.7.0+`` - `Scala Documentation `__ * - :driver:`PHP ` diff --git a/source/core/csfle/reference/libmongocrypt.txt b/source/core/csfle/reference/libmongocrypt.txt index 7c225052c4f..befc8eb87ff 100644 --- a/source/core/csfle/reference/libmongocrypt.txt +++ b/source/core/csfle/reference/libmongocrypt.txt @@ -54,7 +54,7 @@ Debian .. code-block:: sh - sudo sh -c 'curl -s --location https://www.mongodb.org/static/pgp/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' + sudo sh -c 'curl -s --location https://pgp.mongodb.com/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' .. step:: @@ -97,7 +97,7 @@ Ubuntu .. code-block:: sh - sudo sh -c 'curl -s --location https://www.mongodb.org/static/pgp/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' + sudo sh -c 'curl -s --location https://pgp.mongodb.com/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' .. step:: @@ -146,7 +146,7 @@ RedHat baseurl=https://libmongocrypt.s3.amazonaws.com/yum/redhat/$releasever/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -173,7 +173,7 @@ Amazon Linux 2 baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -200,7 +200,7 @@ Amazon Linux baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2013.03/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -222,7 +222,7 @@ Suse .. code-block:: sh - sudo rpm --import https://www.mongodb.org/static/pgp/libmongocrypt.asc + sudo rpm --import https://pgp.mongodb.com/libmongocrypt.asc .. step:: diff --git a/source/core/hashed-sharding.txt b/source/core/hashed-sharding.txt index 2c5d7acf20d..082dd3eaf3a 100644 --- a/source/core/hashed-sharding.txt +++ b/source/core/hashed-sharding.txt @@ -249,6 +249,10 @@ Sharding Empty Collection on Compound Hashed Shard Key with Non-Hashed Prefix :ref:`pre-define-zone-range-hashed-example`. +Drop a Hashed Shard Key Index +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/drop-hashed-shard-key-index.rst .. seealso:: diff --git a/source/core/index-case-insensitive.txt b/source/core/index-case-insensitive.txt index 33e86b9ea04..613fbcf47da 100644 --- a/source/core/index-case-insensitive.txt +++ b/source/core/index-case-insensitive.txt @@ -1,7 +1,7 @@ .. _index-feature-case-insensitive: ======================== -Case Insensitive Indexes +Case-Insensitive Indexes ======================== .. default-domain:: mongodb @@ -12,30 +12,52 @@ Case Insensitive Indexes :depth: 2 :class: singlecol -Case insensitive indexes support queries that perform string -comparisons without regard for case. +Case-insensitive indexes support queries that perform string comparisons +without regard for case. Case insensitivity is derived from +:ref:`collation `. -You can create a case insensitive index with -:method:`db.collection.createIndex()` by specifying the ``collation`` -parameter as an option. For example: +.. important:: -.. code-block:: javascript + .. include:: /includes/indexes/case-insensitive-regex-queries.rst - db.collection.createIndex( { "key" : 1 }, - { collation: { - locale : , - strength : - } - } ) +Command Syntax +-------------- -To specify a collation for a case sensitive index, include: +You can create a case-insensitive index with +:method:`db.collection.createIndex()` by specifying the ``collation`` +option: -- ``locale``: specifies language rules. See - :ref:`Collation Locales` for a list of - available locales. +.. code-block:: javascript -- ``strength``: determines comparison rules. A value of - ``1`` or ``2`` indicates a case insensitive collation. + db.collection.createIndex( + { + : + }, + { + collation: + { + locale : , + strength : < 1 | 2 > + } + } + ) + +To specify a collation for a case-insensitive index, include the +following fields in the ``collation`` object: + +.. list-table:: + :header-rows: 1 + :widths: 10 20 + + * - Field + - Description + + * - ``locale`` + - Specifies language rules. For a list of available locales, see + :ref:`collation-languages-locales`. + * - ``strength`` + - Determines comparison rules. A ``strength`` value of 1 or 2 + indicates case-insensitive collation. For additional collation fields, see :ref:`Collation`. @@ -43,11 +65,6 @@ For additional collation fields, see Behavior -------- -Using a case insensitive index does not affect -the results of a query, but it can increase performance; see -:ref:`Indexes ` for a detailed discussion of the costs and -benefits of indexes. - To use an index that specifies a collation, query and sort operations must specify the same collation as the index. If a collection has defined a collation, all queries and indexes inherit that collation @@ -58,10 +75,10 @@ Examples .. _no-default-collation-example: -Create a Case Insensitive Index +Create a Case-Insensitive Index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To use a case insensitive index on a collection with no default +To use a case-insensitive index on a collection with no default collation, create an index with a collation and set the ``strength`` parameter to ``1`` or ``2`` (see :ref:`Collation` for a detailed @@ -69,15 +86,17 @@ description of the ``strength`` parameter). You must specify the same collation at the query level in order to use the index-level collation. The following example creates a collection with no default collation, -then adds an index on the ``type`` field with a case insensitive +then adds an index on the ``type`` field with a case-insensitive collation. .. code-block:: javascript db.createCollection("fruit") - db.fruit.createIndex( { type: 1}, - { collation: { locale: 'en', strength: 2 } } ) + db.fruit.createIndex( + { type: 1 }, + { collation: { locale: 'en', strength: 2 } } + ) To use the index, queries must specify the same collation. @@ -99,7 +118,7 @@ To use the index, queries must specify the same collation. .. _default-collation-example: -Case Insensitive Indexes on Collections with a Default Collation +Case-Insensitive Indexes on Collections with a Default Collation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you create a collection with a default collation, all the indexes diff --git a/source/core/indexes/drop-index.txt b/source/core/indexes/drop-index.txt index 483e4fb34f5..652404f09dd 100644 --- a/source/core/indexes/drop-index.txt +++ b/source/core/indexes/drop-index.txt @@ -77,7 +77,7 @@ method and specify an array of index names: .. code-block:: javascript - db..dropIndexes("", "", "") + db..dropIndexes( [ "", "", "" ] ) Drop All Indexes Except the ``_id`` Index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/core/indexes/index-types/index-hashed.txt b/source/core/indexes/index-types/index-hashed.txt index 7edb45b00df..a09178787d2 100644 --- a/source/core/indexes/index-types/index-hashed.txt +++ b/source/core/indexes/index-types/index-hashed.txt @@ -46,7 +46,7 @@ Floating-Point Numbers Hashed indexes truncate floating-point numbers to 64-bit integers before hashing. For example, a hashed index uses the same hash to store the -values ``2.3``, ``2.2``, and ``2.9``. This is a **collison**, where +values ``2.3``, ``2.2``, and ``2.9``. This is a **collision**, where multiple values are assigned to a single hash key. Collisions may negatively impact query performance. diff --git a/source/core/indexes/index-types/index-single/create-single-field-index.txt b/source/core/indexes/index-types/index-single/create-single-field-index.txt index edeaf00c6ab..3b14149e1ac 100644 --- a/source/core/indexes/index-types/index-single/create-single-field-index.txt +++ b/source/core/indexes/index-types/index-single/create-single-field-index.txt @@ -122,9 +122,7 @@ The following query uses the index on the ``location`` field: Details ``````` -When you create an index on an embedded document, only queries that -specify the *entire* embedded document use the index. Queries on a -specific field within the document do not use the index. +.. include:: /includes/indexes/embedded-object-need-entire-doc.rst For example, the following queries *do not* use the index on the ``location`` field because they query on specific fields within the diff --git a/source/core/indexes/index-types/index-text/specify-language-text-index/create-text-index-multiple-languages.txt b/source/core/indexes/index-types/index-text/specify-language-text-index/create-text-index-multiple-languages.txt index db25838c63b..8ea718dc607 100644 --- a/source/core/indexes/index-types/index-text/specify-language-text-index/create-text-index-multiple-languages.txt +++ b/source/core/indexes/index-types/index-text/specify-language-text-index/create-text-index-multiple-languages.txt @@ -93,7 +93,15 @@ The following operation creates a text index on the ``original`` and .. code-block:: javascript - db.quotes.createIndex( { original: "text", "translation.quote": "text" } ) + db.quotes.createIndex({ original: "text", "translation.quote": "text", "default_language" : "fr" }) + +.. note:: + + English is the default language for indexes. If you do not specify the + :ref:`default_language `, your query must + specify the language with the :ref:`$language ` parameter. + For more information, refer to :ref:``. + Results ------- diff --git a/source/core/queryable-encryption/fundamentals/encrypt-and-query.txt b/source/core/queryable-encryption/fundamentals/encrypt-and-query.txt index f7e252a6fc6..e4a00fcfd1e 100644 --- a/source/core/queryable-encryption/fundamentals/encrypt-and-query.txt +++ b/source/core/queryable-encryption/fundamentals/encrypt-and-query.txt @@ -1,3 +1,13 @@ +.. facet:: + :name: genre + :values: tutorial + +.. meta:: + :keywords: code example, node.js + +.. meta:: + :keywords: queryable encryption, contention + .. _qe-fundamentals-encrypt-query: ================================= @@ -216,7 +226,7 @@ Configure Contention Factor Include the ``contention`` property on queryable fields to prefer either find performance, or write and update performance. -.. include:: /includes/fact-qe-csfle-contention.rst +.. include:: /includes/queryable-encryption/qe-csfle-contention.rst Example +++++++ diff --git a/source/core/queryable-encryption/quick-start.txt b/source/core/queryable-encryption/quick-start.txt index 6cdcbe1fb80..e5e12a86af8 100644 --- a/source/core/queryable-encryption/quick-start.txt +++ b/source/core/queryable-encryption/quick-start.txt @@ -90,23 +90,7 @@ Procedure .. tab:: :tabid: shell - - **kmsProviderName** - The KMS you're using to store your {+cmk-long+}. - Set this variable to ``"local"`` for this tutorial. - - **uri** - Your MongoDB deployment connection URI. Set your connection - URI in the ``MONGODB_URI`` environment variable or replace the value - directly. - - **keyVaultDatabaseName** - The database in MongoDB where your data - encryption keys (DEKs) will be stored. Set this variable - to ``"encryption"``. - - **keyVaultCollectionName** - The collection in MongoDB where your DEKs - will be stored. Set this variable to ``"__keyVault"``. - - **keyVaultNamespace** - The namespace in MongoDB where your DEKs will - be stored. Set this variable to the values of the ``keyVaultDatabaseName`` - and ``keyVaultCollectionName`` variables, separated by a period. - - **encryptedDatabaseName** - The database in MongoDB where your encrypted - data will be stored. Set this variable to ``"medicalRecords"``. - - **encryptedCollectionName** - The collection in MongoDB where your encrypted - data will be stored. Set this variable to ``"patients"``. + .. include:: /includes/qe-tutorials/qe-quick-start.rst You can declare these variables by using the following code: @@ -119,23 +103,7 @@ Procedure .. tab:: :tabid: nodejs - - **kmsProviderName** - The KMS you're using to store your {+cmk-long+}. - Set this variable to ``"local"`` for this tutorial. - - **uri** - Your MongoDB deployment connection URI. Set your connection - URI in the ``MONGODB_URI`` environment variable or replace the value - directly. - - **keyVaultDatabaseName** - The database in MongoDB where your data - encryption keys (DEKs) will be stored. Set this variable - to ``"encryption"``. - - **keyVaultCollectionName** - The collection in MongoDB where your DEKs - will be stored. Set this variable to ``"__keyVault"``. - - **keyVaultNamespace** - The namespace in MongoDB where your DEKs will - be stored. Set this variable to the values of the ``keyVaultDatabaseName`` - and ``keyVaultCollectionName`` variables, separated by a period. - - **encryptedDatabaseName** - The database in MongoDB where your encrypted - data will be stored. Set this variable to ``"medicalRecords"``. - - **encryptedCollectionName** - The collection in MongoDB where your encrypted - data will be stored. Set this variable to ``"patients"``. + .. include:: /includes/qe-tutorials/qe-quick-start.rst You can declare these variables by using the following code: @@ -157,7 +125,8 @@ Procedure encryption keys (DEKs) will be stored. Set this variable to ``"encryption"``. - **key_vault_collection_name** - The collection in MongoDB where your DEKs - will be stored. Set this variable to ``"__keyVault"``. + will be stored. Set this variable to ``"__keyVault"``, which is the + convention to help prevent mistaking it for a user collection. - **key_vault_namespace** - The namespace in MongoDB where your DEKs will be stored. Set this variable to the values of the ``key_vault_database_name`` and ``key_vault_collection_name`` variables, separated by a period. @@ -177,23 +146,7 @@ Procedure .. tab:: :tabid: java-sync - - **kmsProviderName** - The KMS you're using to store your {+cmk-long+}. - Set this variable to ``"local"`` for this tutorial. - - **uri** - Your MongoDB deployment connection URI. Set your connection - URI in the ``MONGODB_URI`` environment variable or replace the value - directly. - - **keyVaultDatabaseName** - The database in MongoDB where your data - encryption keys (DEKs) will be stored. Set this variable - to ``"encryption"``. - - **keyVaultCollectionName** - The collection in MongoDB where your DEKs - will be stored. Set this variable to ``"__keyVault"``. - - **keyVaultNamespace** - The namespace in MongoDB where your DEKs will - be stored. Set this variable to the values of the ``keyVaultDatabaseName`` - and ``keyVaultCollectionName`` variables, separated by a period. - - **encryptedDatabaseName** - The database in MongoDB where your encrypted - data will be stored. Set this variable to ``"medicalRecords"``. - - **encryptedCollectionName** - The collection in MongoDB where your encrypted - data will be stored. Set this variable to ``"patients"``. + .. include:: /includes/qe-tutorials/qe-quick-start.rst You can declare these variables by using the following code: @@ -206,23 +159,7 @@ Procedure .. tab:: :tabid: go - - **kmsProviderName** - The KMS you're using to store your {+cmk-long+}. - Set this variable to ``"local"`` for this tutorial. - - **uri** - Your MongoDB deployment connection URI. Set your connection - URI in the ``MONGODB_URI`` environment variable or replace the value - directly. - - **keyVaultDatabaseName** - The database in MongoDB where your data - encryption keys (DEKs) will be stored. Set this variable - to ``"encryption"``. - - **keyVaultCollectionName** - The collection in MongoDB where your DEKs - will be stored. Set this variable to ``"__keyVault"``. - - **keyVaultNamespace** - The namespace in MongoDB where your DEKs will - be stored. Set this variable to the values of the ``keyVaultDatabaseName`` - and ``keyVaultCollectionName`` variables, separated by a period. - - **encryptedDatabaseName** - The database in MongoDB where your encrypted - data will be stored. Set this variable to ``"medicalRecords"``. - - **encryptedCollectionName** - The collection in MongoDB where your encrypted - data will be stored. Set this variable to ``"patients"``. + .. include:: /includes/qe-tutorials/qe-quick-start.rst You can declare these variables by using the following code: @@ -241,7 +178,8 @@ Procedure encryption keys (DEKs) will be stored. Set the value of ``keyVaultDatabaseName`` to ``"encryption"``. - **keyVaultCollectionName** - The collection in MongoDB where your DEKs - will be stored. Set the value of ``keyVaultCollectionName`` to ``"__keyVault"``. + will be stored. Set this variable to ``"__keyVault"``, which is the + convention to help prevent mistaking it for a user collection. - **keyVaultNamespace** - The namespace in MongoDB where your DEKs will be stored. Set ``keyVaultNamespace`` to a new ``CollectionNamespace`` object whose name is the values of the ``keyVaultDatabaseName`` and ``keyVaultCollectionName`` variables, @@ -264,10 +202,7 @@ Procedure .. important:: {+key-vault-long-title+} Namespace Permissions - The {+key-vault-long+} is in the ``encryption.__keyVault`` - namespace. Ensure that the database user your application uses to connect - to MongoDB has :ref:`ReadWrite ` - permissions on this namespace. + .. include:: /includes/note-key-vault-permissions .. include:: /includes/queryable-encryption/env-variables.rst diff --git a/source/core/queryable-encryption/reference/compatibility.txt b/source/core/queryable-encryption/reference/compatibility.txt index 17c4a55e2a6..26c31b884c0 100644 --- a/source/core/queryable-encryption/reference/compatibility.txt +++ b/source/core/queryable-encryption/reference/compatibility.txt @@ -1,6 +1,14 @@ +.. facet:: + :name: genre + :values: reference + +.. facet:: + :name: programming_language + :values: csharp, go, java, javascript/typescript, php, python, ruby, rust, scala + .. _qe-driver-compatibility: .. _qe-compatibility-reference: - + ================================== {+qe+} Compatibility ================================== @@ -46,10 +54,10 @@ compatible MongoDB drivers: * - :driver:`C#/.NET ` version ``2.20.0`` or later - No additional dependency - - * - :driver:`Java (Synchronous) ` version ``4.10.0`` or later + + * - :driver:`Java (Synchronous) and Java Reactive Streams ` version ``4.10.0`` or later - `mongodb-crypt `__ version ``1.8.0`` or later - + * - :driver:`PyMongo ` version ``4.4`` or later - `pymongocrypt `__ version ``1.6`` or later @@ -71,3 +79,6 @@ compatible MongoDB drivers: * - :driver:`Rust ` version ``2.6.0`` or later - :ref:`libmongocrypt ` version ``1.8.0`` or later + * - :driver:`Scala ` version ``4.10.0`` or later + - `mongodb-crypt `__ version ``1.8.0`` or later + diff --git a/source/core/queryable-encryption/reference/libmongocrypt.txt b/source/core/queryable-encryption/reference/libmongocrypt.txt index 09ce583f367..c42e4a9d750 100644 --- a/source/core/queryable-encryption/reference/libmongocrypt.txt +++ b/source/core/queryable-encryption/reference/libmongocrypt.txt @@ -58,7 +58,7 @@ Debian .. code-block:: sh - sudo sh -c 'curl -s --location https://www.mongodb.org/static/pgp/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' + sudo sh -c 'curl -s --location https://pgp.mongodb.com/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' .. step:: @@ -101,7 +101,7 @@ Ubuntu .. code-block:: sh - sudo sh -c 'curl -s --location https://www.mongodb.org/static/pgp/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' + sudo sh -c 'curl -s --location https://pgp.mongodb.com/libmongocrypt.asc | gpg --dearmor >/etc/apt/trusted.gpg.d/libmongocrypt.gpg' .. step:: @@ -150,7 +150,7 @@ RedHat baseurl=https://libmongocrypt.s3.amazonaws.com/yum/redhat/$releasever/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -177,7 +177,7 @@ Amazon Linux 2 baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -204,7 +204,7 @@ Amazon Linux baseurl=https://libmongocrypt.s3.amazonaws.com/yum/amazon/2013.03/libmongocrypt/{+libmongocrypt-version+}/x86_64 gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/libmongocrypt.asc + gpgkey=https://pgp.mongodb.com/libmongocrypt.asc .. step:: @@ -226,7 +226,7 @@ Suse .. code-block:: sh - sudo rpm --import https://www.mongodb.org/static/pgp/libmongocrypt.asc + sudo rpm --import https://pgp.mongodb.com/libmongocrypt.asc .. step:: diff --git a/source/core/queryable-encryption/reference/limitations.txt b/source/core/queryable-encryption/reference/limitations.txt index 8110417f0a6..a0c0ce039ba 100644 --- a/source/core/queryable-encryption/reference/limitations.txt +++ b/source/core/queryable-encryption/reference/limitations.txt @@ -1,3 +1,6 @@ +.. meta:: + :keywords: queryable encryption, contention, redaction + .. _qe-reference-encryption-limits: =========== @@ -37,7 +40,10 @@ number of concurrent connections. You can set the contention factor only when specifying a field for encryption. Once you specify a field for encryption, the contention factor is immutable. If -you don't specify the contention factor, it uses the default value of ``4``. +you don't specify the contention factor, it uses the default value of +``8``. + +For more information, see :ref:`Configuring contention factor `. Manual Metadata Collection Compaction ------------------------------------- diff --git a/source/core/queryable-encryption/reference/supported-operations.txt b/source/core/queryable-encryption/reference/supported-operations.txt index 3c46bb332db..a71b130182a 100644 --- a/source/core/queryable-encryption/reference/supported-operations.txt +++ b/source/core/queryable-encryption/reference/supported-operations.txt @@ -4,14 +4,19 @@ Supported Operations for {+qe+} ============================================= -.. default-domain:: mongodb - .. contents:: On this page :local: :backlinks: none :depth: 2 :class: singlecol +.. facet:: + :name: genre + :values: reference + +.. meta:: + :keywords: QE, read operations, write operations + This page documents the specific commands, query operators, update operators, aggregation stages, and aggregation expressions supported for {+qe+} compatible drivers. @@ -45,7 +50,6 @@ following commands: - :dbcommand:`aggregate` - :dbcommand:`count` - :dbcommand:`delete` -- :dbcommand:`distinct` - :dbcommand:`explain` - :dbcommand:`find` - :dbcommand:`findAndModify` @@ -226,8 +230,7 @@ aggregation pipeline stages: - :pipeline:`$collStats` - :pipeline:`$count` - :pipeline:`$geoNear` -- :pipeline:`$group` (For usage requirements, see - :ref:`qe-group-behavior`) +- :pipeline:`$group` on unencrypted fields - :pipeline:`$indexStats` - :pipeline:`$limit` - :pipeline:`$lookup` and :pipeline:`$graphLookup` (For usage @@ -254,25 +257,6 @@ Each supported stage must specify only supported :ref:`aggregation expressions `. -.. _qe-group-behavior: - -``$group`` Behavior -~~~~~~~~~~~~~~~~~~~ - -:pipeline:`$group` has the following behaviors specific to {+qe+}. - -``$group`` supports: - -- Grouping on encrypted fields. -- Using :group:`$addToSet` and :group:`$push` accumulators on encrypted - fields. - -``$group`` does not support: - -- Matching on the array returned by :group:`$addToSet` and :group:`$push` - accumulators. -- Arithmetic accumulators on encrypted fields. - .. _qe-csfle-lookup-graphLookup-behavior: ``$lookup`` and ``$graphLookup`` Behavior diff --git a/source/core/replica-set-oplog.txt b/source/core/replica-set-oplog.txt index ebd8e8976ff..6839b54d945 100644 --- a/source/core/replica-set-oplog.txt +++ b/source/core/replica-set-oplog.txt @@ -6,6 +6,10 @@ Replica Set Oplog .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -20,14 +24,6 @@ Unlike other capped collections, the oplog can grow past its configured size limit to avoid deleting the :data:`majority commit point `. -.. versionadded:: 4.4 - - MongoDB 4.4 supports specifying a minimum oplog retention - period in hours, where MongoDB only removes an oplog entry if: - - - The oplog has reached the maximum configured size, *and* - - The oplog entry is older than the configured number of hours. - MongoDB applies database operations on the :term:`primary` and then records the operations on the primary's oplog. The :term:`secondary` members then copy and apply diff --git a/source/core/replica-set-rollbacks.txt b/source/core/replica-set-rollbacks.txt index be052dbe58d..0af65884676 100644 --- a/source/core/replica-set-rollbacks.txt +++ b/source/core/replica-set-rollbacks.txt @@ -207,7 +207,26 @@ Index Operations When :readconcern:`"majority"` Read Concern is Disabled Size Limitations ~~~~~~~~~~~~~~~~ -MongoDB does not limit the amount of data you can roll back. +MongoDB supports the following rollback algorithms, which have different size limitations: + +- **Recover to a Timestamp**, where a former primary reverts to a consistent point in time and + applies operations until it catches up to the sync source's branch of history. This is the + default rollback algorithm. + + When using this algorithm, MongoDB does not limit the amount of data you can roll back. + +- **Rollback via Refetch**, where a former primary finds the common point between its :term:`oplog` + and the sync source's oplog. Then, the member examines and reverts all operations in its oplog until + it reaches this common point. Rollback via Refetch occurs only when the + :setting:`~replication.enableMajorityReadConcern` setting in your configuration file is set to + ``false``. + + When using this algorithm, MongoDB can only roll back up to 300 MB of data. + + .. note:: + + Starting in MongoDB 5.0, :setting:`~replication.enableMajorityReadConcern` is set to + ``true`` and cannot be changed. .. _rollback-time-limit: diff --git a/source/core/replica-set-sync.txt b/source/core/replica-set-sync.txt index 22b3423433d..22bb893ce93 100644 --- a/source/core/replica-set-sync.txt +++ b/source/core/replica-set-sync.txt @@ -6,6 +6,10 @@ Replica Set Data Synchronization .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -99,9 +103,9 @@ at startup. Behavior ```````` -File copy based initial sync replaces the ``local`` database on the -member being *synced to* with the ``local`` database from the member -being *synced from*. +File copy based initial sync replaces the ``local`` database of the +target member with the ``local`` database of the source member when +syncing. Limitations ``````````` diff --git a/source/core/replica-set-write-concern.txt b/source/core/replica-set-write-concern.txt index 7840c04de6c..1d259a4ee8c 100644 --- a/source/core/replica-set-write-concern.txt +++ b/source/core/replica-set-write-concern.txt @@ -110,10 +110,6 @@ operation. Refer to the documentation for the write operation for instructions on write concern support and syntax. For complete documentation on write concern, see :ref:`write-concern`. -.. seealso:: - - :ref:`write-methods-incompatibility` - .. _repl-set-modify-default-write-concern: Modify Default Write Concern diff --git a/source/core/schema-validation.txt b/source/core/schema-validation.txt index ad82dd137d2..2f69e5fbd49 100644 --- a/source/core/schema-validation.txt +++ b/source/core/schema-validation.txt @@ -55,26 +55,20 @@ validation in the following scenarios: from accidentally misspelling an item name when entering sales data. - For a students collection, ensure that the ``gpa`` field is always a - positive number. This validation catches typos during data entry. + positive number. This validation prevents errors during data entry. When MongoDB Checks Validation ------------------------------ -When you create a new collection with schema validation, MongoDB checks -validation during updates and inserts in that collection. +After you add schema validation rules to a collection: -When you add validation to an existing, non-empty collection: - -- Newly inserted documents are checked for validation. - -- Documents already existing in your collection are not checked for - validation until they are modified. Specific behavior for existing - documents depends on your chosen validation level. To learn more, see +- All document inserts must match the rules. +- The schema validation level defines how the rules are applied to + existing documents and document updates. To learn more, see :ref:`schema-specify-validation-level`. -Adding validation to an existing collection does not enforce validation -on existing documents. To check a collection for invalid documents, use -the :dbcommand:`validate` command. +To find documents in a collection that don't match the schema validation +rules, see :ref:`use-json-schema-query-conditions-find-documents`. What Happens When a Document Fails Validation --------------------------------------------- diff --git a/source/core/schema-validation/specify-validation-level.txt b/source/core/schema-validation/specify-validation-level.txt index f563a3fe7bb..2293762008a 100644 --- a/source/core/schema-validation/specify-validation-level.txt +++ b/source/core/schema-validation/specify-validation-level.txt @@ -31,13 +31,15 @@ MongoDB applies validation rules: - Behavior * - ``strict`` - - (*Default*) MongoDB applies validation rules to all inserts and - updates. + - (*Default*) MongoDB applies the same validation rules to all + document inserts and updates. * - ``moderate`` - - MongoDB only applies validation rules to existing valid - documents. Updates to invalid documents which exist prior to the - validation being added are not checked for validity. + - MongoDB applies the same validation rules to document inserts + and updates to existing valid documents that match the + validation rules. Updates to existing documents in the + collection that don't match the validation rules aren't checked + for validity. Prerequisite ------------ @@ -260,7 +262,7 @@ documents. upsertedCount: 0 } - The output shows that: + The output shows: - The update fails for the document with ``_id: 1``. This document met the initial validation requirements, and MongoDB applies diff --git a/source/core/schema-validation/use-json-schema-query-conditions.txt b/source/core/schema-validation/use-json-schema-query-conditions.txt index 8f1b64de4c1..9f62e731fdf 100644 --- a/source/core/schema-validation/use-json-schema-query-conditions.txt +++ b/source/core/schema-validation/use-json-schema-query-conditions.txt @@ -102,11 +102,14 @@ Both commands return the same result: } ] +.. _use-json-schema-query-conditions-find-documents: + Find Documents that Don't Match the Schema ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To find all documents do not satisfy the schema:, use -:query:`$jsonSchema` with the :query:`$nor` operator: +To find documents in a collection that don't match the schema validation +rules, use :query:`$jsonSchema` with the :query:`$nor` operator. For +example: .. code-block:: javascript diff --git a/source/core/security-ldap-external.txt b/source/core/security-ldap-external.txt index 889070a0558..5e90b7b4ee2 100644 --- a/source/core/security-ldap-external.txt +++ b/source/core/security-ldap-external.txt @@ -227,6 +227,12 @@ configuration file: - Quote-enclosed comma-separated list of LDAP servers in ``host[:port]`` format. + You can prefix LDAP servers with ``srv:`` and ``srv_raw:``. + + .. |ldap-binary| replace:: :binary:`mongod` + + .. include:: /includes/ldap-srv-details.rst + - **YES** * - :setting:`security.ldap.authz.queryTemplate` diff --git a/source/core/security-ldap.txt b/source/core/security-ldap.txt index 825f030f477..11435769aa7 100644 --- a/source/core/security-ldap.txt +++ b/source/core/security-ldap.txt @@ -216,6 +216,12 @@ configuration file: - Quote-enclosed comma-separated list of LDAP servers in ``host[:port]`` format. + You can prefix LDAP servers with ``srv:`` and ``srv_raw:``. + + .. |ldap-binary| replace:: :binary:`mongod` + + .. include:: /includes/ldap-srv-details.rst + - **YES** * - :setting:`security.ldap.bind.method` diff --git a/source/core/tailable-cursors.txt b/source/core/tailable-cursors.txt index fdefbe8a6f7..e442908eafa 100644 --- a/source/core/tailable-cursors.txt +++ b/source/core/tailable-cursors.txt @@ -6,15 +6,27 @@ Tailable Cursors .. default-domain:: mongodb -By default, MongoDB will automatically close a cursor when the client -has exhausted all results in the cursor. However, for :doc:`capped -collections ` you may use a *Tailable -Cursor* that remains open after the client exhausts the results in the +.. facet:: + :name: genre + :values: reference + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +By default, MongoDB automatically closes a cursor when the client +exhausts all results in the cursor. However, for :ref:`capped +collections ` you can use a :term:`tailable +cursor` that remains open after the client exhausts the results in the initial cursor. Tailable cursors are conceptually equivalent to the -``tail`` Unix command with the ``-f`` option (i.e. with "follow" -mode). After clients insert new additional documents into a capped -collection, the tailable cursor will continue to retrieve -documents. +``tail`` Unix command with the ``-f`` option ("follow" mode). After +clients insert additional documents into a capped collection, the +tailable cursor continues to retrieve documents. + +Use Cases +--------- Use tailable cursors on capped collections that have high write volumes where indexes aren't practical. For instance, @@ -23,34 +35,38 @@ tail the primary's :term:`oplog`. .. note:: - If your query is on an indexed field, do not use tailable cursors, - but instead, use a regular cursor. Keep track of the last value of - the indexed field returned by the query. To retrieve the newly - added documents, query the collection again using the last value of - the indexed field in the query criteria, as in the following - example: + If your query is on an indexed field, use a regular cursor instead of + a tailable cursor. Keep track of the last value of the indexed field + returned by the query. To retrieve the newly added documents, query + the collection again using the last value of the indexed field in the + query criteria. For example: .. code-block:: javascript db..find( { indexedField: { $gt: } } ) -Consider the following behaviors related to tailable cursors: +Get Started +----------- -- Tailable cursors do not use indexes and return documents in - :term:`natural order`. +To create a tailable cursor in :binary:`mongosh`, see +:method:`cursor.tailable()`. -- Because tailable cursors do not use indexes, the initial scan for the - query may be expensive; but, after initially exhausting the cursor, - subsequent retrievals of the newly added documents are inexpensive. +To see tailable cursor methods for your driver, see your :driver:`driver +documentation `. -- Tailable cursors may become *dead*, or invalid, if either: +Behavior +-------- - - the query returns no match. +Consider the following behaviors related to tailable cursors: - - the cursor returns the document at the "end" of the collection and - then the application deletes that document. +- Tailable cursors do not use indexes. They return documents in + :term:`natural order`. - A *dead* cursor has an ID of ``0``. +- Because tailable cursors do not use indexes, the initial scan for the + query may be expensive. After initially exhausting the cursor, + subsequent retrievals of the newly added documents are inexpensive. -See your :driver:`driver documentation ` for the -driver-specific method to specify the tailable cursor. +- A tailable cursor can become invalid if the data at its current + position is overwritten by new data. For example, this can happen if + the speed of data insertion is faster than the speed of cursor + iteration. diff --git a/source/core/timeseries-collections.txt b/source/core/timeseries-collections.txt index d13b54a23bb..8c6dd270dda 100644 --- a/source/core/timeseries-collections.txt +++ b/source/core/timeseries-collections.txt @@ -105,19 +105,20 @@ store data in time-order. This format provides the following benefits: Behavior ~~~~~~~~ -Time series collections behave like normal collections. You can insert -and query your data as you normally would. +Time series collections behave like typical collections. You insert +and query data as usual. MongoDB treats time series collections as writable non-materialized :ref:`views ` backed by an internal collection. When you insert data, the internal collection automatically organizes time series data into an optimized storage format. -Since MongoDB 6.3, when you create a new time series collection, MongodDB -generates a :ref:`compound index ` on the -:ref:`metaField and timeField ` fields. Queries on time -series collections take advantage of this index, as well as the optimized -storage format, to improve query performance. +Starting in MongoDB 6.3: if you create a new time series collection, +MongoDB also generates a :ref:`compound index ` +on the :ref:`metaField and timeField ` fields. To +improve query performance, queries on time series collections use the +new compound index. The compound index also uses the optimized storage +format. .. tip:: diff --git a/source/core/timeseries/timeseries-best-practices.txt b/source/core/timeseries/timeseries-best-practices.txt index 82c38a8dd2d..d69b698f58e 100644 --- a/source/core/timeseries/timeseries-best-practices.txt +++ b/source/core/timeseries/timeseries-best-practices.txt @@ -261,4 +261,54 @@ To improve query performance, :ref:`create one or more secondary indexes ` on your ``timeField`` and ``metaField`` to support common query patterns. In versions 6.3 and higher, MongoDB creates a secondary index on the ``timeField`` and -``metaField`` automatically. \ No newline at end of file +``metaField`` automatically. + +Query metaFields on Sub-Fields +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +MongoDB reorders the metaFields of time-series collections, which may +cause servers to store data in a different field order than +applications. If metaFields are objects, queries on entire metaFields +may produce inconsistent results because metaField order may vary +between servers and applications. To optimize queries on time-series +metaFields, query timeseries metaFields on scalar sub-fields rather than +entire metaFields. + +The following example creates a time series collection: + +.. code-block:: javascript + + db.weather.insertMany( [ + { + "metaField": { "sensorId": 5578, "type": "temperature" }, + "timestamp": ISODate( "2021-05-18T00:00:00.000Z" ), + "temp": 12 + }, + { + "metaField": { "sensorId": 5578, "type": "temperature" }, + "timestamp": ISODate( "2021-05-18T04:00:00.000Z" ), + "temp": 11 + } + ] ) + +The following query on the ``sensorId`` and ``type`` scalar sub-fields +returns the first document that matches the query criteria: + +.. code-block:: javascript + + db.weather.findOne( { + "metaField.sensorId": 5578, + "metaField.type": "temperature" + } ) + +Example output: + +.. code-block:: javascript + :copyable: false + + { + _id: ObjectId("6572371964eb5ad43054d572"), + metaField: { sensorId: 5578, type: 'temperature' }, + timestamp: ISODate( "2021-05-18T00:00:00.000Z" ), + temp: 12 + } diff --git a/source/core/timeseries/timeseries-procedures.txt b/source/core/timeseries/timeseries-procedures.txt index 6690c8aea1f..f1a29e75938 100644 --- a/source/core/timeseries/timeseries-procedures.txt +++ b/source/core/timeseries/timeseries-procedures.txt @@ -262,6 +262,9 @@ Example output: _id: ObjectId("62f11bbf1e52f124b84479ad") } +For more information on time series queries, see +:ref:`tsc-best-practice-optimize-query-performance`. + Run Aggregations on a Time Series Collection -------------------------------------------- diff --git a/source/core/transactions.txt b/source/core/transactions.txt index ff42fa745a2..99383b89b32 100644 --- a/source/core/transactions.txt +++ b/source/core/transactions.txt @@ -80,7 +80,8 @@ upper-right to set the language of the following example. /* For a replica set, include the replica set name and a seedlist of the members in the URI string; e.g. String uri = "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017/admin?replicaSet=myRepl"; - For a sharded cluster, connect to the mongos instances; e.g. + For a sharded cluster, connect to the mongos instances. + For example: String uri = "mongodb://mongos0.example.com:27017,mongos1.example.com:27017:27017/admin"; */ @@ -277,7 +278,6 @@ upper-right to set the language of the following example. .. literalinclude:: /driver-examples/DocumentationTransactionsExampleSpec.scala :language: scala - .. seealso:: For an example in :binary:`~bin.mongosh`, see @@ -290,12 +290,12 @@ Transactions and Atomicity .. include:: /includes/transactions/distributed-transaction-repl-shard-support.rst -Distributed transactions are atomic. They provide an "all-or-nothing" -proposition: +Distributed transactions are atomic: + +- Transactions either apply all data changes or roll back the changes. -- When a transaction commits, all data changes made in the transaction - are saved and visible outside the transaction. That is, a transaction - will not commit some of its changes while rolling back others. +- If a transaction commits, all data changes made in the transaction + are saved and are visible outside of the transaction. .. include:: /includes/extracts/transactions-committed-visibility.rst @@ -334,11 +334,11 @@ For a list of operations not supported in transactions, see .. _transactions-create-collections-indexes: -Create Collections and Indexes In a Transaction +Create Collections and Indexes in a Transaction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You can perform the following operations inside of a :ref:`distributed -transaction ` as long as the transaction is not a +You can perform the following operations in a :ref:`distributed +transaction ` if the transaction is not a cross-shard write transaction: - Create collections. @@ -352,11 +352,11 @@ When creating a collection inside a transaction: `, such as with: - an :ref:`insert operation ` - against a non-existing collection, or + for a non-existent collection, or - an :ref:`update/findAndModify operation ` with ``upsert: true`` - against a non-existing collection. + for a non-existent collection. - You can :ref:`explicitly create a collection ` using the :dbcommand:`create` @@ -366,7 +366,7 @@ When :ref:`creating an index inside a transaction ` [#create-existing-index]_, the index to create must be on either: -- a non-existing collection. The collection is created as part of the +- a non-existent collection. The collection is created as part of the operation. - a new empty collection created earlier in the same transaction. @@ -387,7 +387,10 @@ Restrictions - For explicit creation of a collection or an index inside a transaction, the transaction read concern level must be - :readconcern:`"local"`. Explicit creation is through: + :readconcern:`"local"`. + + To explicitly create collections and indexes, use the following + commands and methods: .. list-table:: :header-rows: 1 @@ -444,10 +447,9 @@ Restricted Operations Transactions and Sessions ------------------------- -- Transactions are associated with a session +- Transactions are associated with a session. -- At any given time, you can have at most one open transaction for a - session. +- You can have at most one open transaction at a time for a session. - When using the drivers, each operation in the transaction must be associated with the session. Refer to your driver specific @@ -487,7 +489,7 @@ Transactions and Read Concern ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Operations in a transaction use the transaction-level :doc:`read -concern `. That is, any read concern set at +concern `. This means a read concern set at the collection and database level is ignored inside the transaction. You can set the transaction-level :doc:`read concern @@ -498,8 +500,8 @@ You can set the transaction-level :doc:`read concern - If transaction-level and the session-level read concern are unset, the transaction-level read concern defaults to the client-level read - concern. By default, client-level read concern is - :readconcern:`"local"` for reads against the primary. See also: + concern. By default, the client-level read concern is + :readconcern:`"local"` for reads on the primary. See also: - :ref:`transactions-read-preference` - :doc:`/reference/mongodb-defaults` @@ -559,16 +561,16 @@ Transactions and Write Concern Transactions use the transaction-level :doc:`write concern ` to commit the write operations. Write -operations inside transactions must be issued without explicit write +operations inside transactions must be run without an explicit write concern specification and use the default write concern. At commit -time, the writes are then commited using the transaction-level write +time, the writes committed using the transaction-level write concern. .. tip:: - Do not explicitly set the write concern for the individual write + Don't explicitly set the write concern for the individual write operations inside a transaction. Setting write concerns for the - individual write operations inside a transaction results in an error. + individual write operations inside a transaction returns an error. You can set the transaction-level :doc:`write concern ` at the transaction start: @@ -621,9 +623,8 @@ values, including: ````````````````` - Write concern :writeconcern:`w: "majority" <"majority">` returns - acknowledgement after the commit has been applied to a majority - (M) of voting members, meaning the commit has been applied to the - primary and (M-1) voting secondaries. + acknowledgement after the commit has been applied to a majority of + voting members. - When you commit with :writeconcern:`w: "majority" <"majority">` write concern, transaction-level :readconcern:`"majority"` read @@ -652,12 +653,15 @@ values, including: General Information ------------------- +The following sections describe additional considerations for +transactions. + Production Considerations ~~~~~~~~~~~~~~~~~~~~~~~~~ -For various production considerations with using transactions, see +For transactions in production environments, see :ref:`production-considerations`. In addition, for sharded -clusters, see also :ref:`production-considerations-sharded`. +clusters, see :ref:`production-considerations-sharded`. Arbiters ~~~~~~~~ @@ -678,7 +682,7 @@ Shard Configuration Restriction Diagnostics ~~~~~~~~~~~ -MongoDB provides various transactions metrics: +To obtain transaction status and metrics, use the following methods: .. list-table:: :widths: 40 60 @@ -719,9 +723,9 @@ MongoDB provides various transactions metrics: * - :binary:`~bin.mongod` and :binary:`~bin.mongos` log messages - - Includes information on slow transactions, which are transactions + - Includes information on slow transactions (which are transactions that exceed the :setting:`operationProfiling.slowOpThresholdMs` - threshold) under the :data:`TXN` log component. + threshold) in the :data:`TXN` log component. .. _transactions-fcv: @@ -775,8 +779,8 @@ Starting in MongoDB 5.2 (and 5.0.4): :parameter:`metadataRefreshInTransactionMaxWaitBehindCritSecMS` parameter. -Additional Transactions Topics ------------------------------- +Learn More +---------- - :doc:`/core/transactions-in-applications` - :doc:`/core/transactions-production-consideration` diff --git a/source/core/views.txt b/source/core/views.txt index 2e6397e0b1c..d53092c4b19 100644 --- a/source/core/views.txt +++ b/source/core/views.txt @@ -10,6 +10,9 @@ Views :name: genre :values: reference +.. meta:: + :description: Understand use cases for read-only views in MongoDB. + .. contents:: On this page :local: :backlinks: none @@ -91,13 +94,6 @@ operations. .. include:: /includes/fact-allowDiskUseByDefault.rst -Sharded Views -~~~~~~~~~~~~~ - -Views are considered sharded if their underlying collection is sharded. -You cannot specify a sharded view for the ``from`` field in -:pipeline:`$lookup` and :pipeline:`$graphLookup` operations. - Time Series Collections ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/core/views/create-view.txt b/source/core/views/create-view.txt index 972727d6af5..0e99743117f 100644 --- a/source/core/views/create-view.txt +++ b/source/core/views/create-view.txt @@ -75,8 +75,6 @@ Some operations are not available with views: - :query:`$text` operator, since ``$text`` operation in aggregation is valid only for the first stage. -- :pipeline:`$geoNear` pipeline stage. - - Renaming a view. For more information, see :ref:`views-supported-operations`. diff --git a/source/core/wiredtiger.txt b/source/core/wiredtiger.txt index ed6634162ac..f4f472149cc 100644 --- a/source/core/wiredtiger.txt +++ b/source/core/wiredtiger.txt @@ -11,6 +11,9 @@ WiredTiger Storage Engine :name: genre :values: reference +.. meta:: + :description: Learn how WiredTiger, MongoDB's default storage engine, works. + .. contents:: On this page :local: :backlinks: none diff --git a/source/includes/5.0-changes/removed-parameters.rst b/source/includes/5.0-changes/removed-parameters.rst index 22b7d73e3bd..6edca637825 100644 --- a/source/includes/5.0-changes/removed-parameters.rst +++ b/source/includes/5.0-changes/removed-parameters.rst @@ -20,3 +20,19 @@ MongoDB 5.0 removes the following server parameters: parameter. In 5.0+, collection and index creation inside of transactions is always enabled. You can no longer use the server parameter to disable this behavior. + + * - ``connPoolMaxShardedConnsPerHost`` + + - MongoDB 5.0 removes the ``connPoolMaxShardedConnsPerHost`` server + parameter. + + * - ``connPoolMaxShardedInUseConnsPerHost`` + + - MongoDB 5.0 removes the ``connPoolMaxShardedInUseConnsPerHost`` server + parameter. + + * - ``shardedConnPoolIdleTimeoutMinutes`` + + - MongoDB 5.0 removes the ``shardedConnPoolIdleTimeoutMinutes`` server + parameter. + diff --git a/source/includes/analyzeShardKey-limitations.rst b/source/includes/analyzeShardKey-limitations.rst index eb90f24578d..cd28d1949fb 100644 --- a/source/includes/analyzeShardKey-limitations.rst +++ b/source/includes/analyzeShardKey-limitations.rst @@ -1,5 +1,5 @@ - You cannot run |analyzeShardKey| on Atlas - :atlas:`multi-tenant ` + :atlas:`multi-tenant ` configurations. - You cannot run |analyzeShardKey| on standalone deployments. - You cannot run |analyzeShardKey| directly against a diff --git a/source/includes/analyzeShardKey-supporting-indexes.rst b/source/includes/analyzeShardKey-supporting-indexes.rst index 2e3947b4654..de9d6dfa235 100644 --- a/source/includes/analyzeShardKey-supporting-indexes.rst +++ b/source/includes/analyzeShardKey-supporting-indexes.rst @@ -34,3 +34,6 @@ index requirements: - Index is not :ref:`multi-key ` - Index is not :ref:`sparse ` - Index is not :ref:`partial ` + +To create supporting indexes, use the +:method:`db.collection.createIndex()` method. diff --git a/source/includes/atlas-search-commands/field-definitions/type.rst b/source/includes/atlas-search-commands/field-definitions/type.rst new file mode 100644 index 00000000000..980cd2d84bf --- /dev/null +++ b/source/includes/atlas-search-commands/field-definitions/type.rst @@ -0,0 +1,6 @@ +Type of search index to create. You can specify either: + +- ``search`` +- ``vectorSearch`` + +If you omit the ``type`` field, the index type is ``search``. diff --git a/source/includes/atlas-search-commands/vector-search-index-definition-fields.rst b/source/includes/atlas-search-commands/vector-search-index-definition-fields.rst new file mode 100644 index 00000000000..82d564ebe46 --- /dev/null +++ b/source/includes/atlas-search-commands/vector-search-index-definition-fields.rst @@ -0,0 +1,17 @@ +The vector search index definition takes the following fields: + +.. code-block:: javascript + + { + "fields": [ + { + "type": "vector" | "filter", + "path": "", + "numDimensions": , + "similarity": "euclidean" | "cosine" | "dotProduct" + } + ] + } + +For explanations of vector search index definition fields, see +:ref:`avs-types-vector-search`. diff --git a/source/includes/bulkWrite-introduction.rst b/source/includes/bulkWrite-introduction.rst deleted file mode 100644 index afd6fba8a9c..00000000000 --- a/source/includes/bulkWrite-introduction.rst +++ /dev/null @@ -1,5 +0,0 @@ -Starting in MongoDB 7.2, you can use the new :dbcommand:`bulkWrite` -command to perform many insert, update, and delete operations on -multiple collections in one request. The existing -:method:`db.collection.bulkWrite` method only allows you to modify one -collection in one request. diff --git a/source/includes/changelogs/releases/4.4.28.rst b/source/includes/changelogs/releases/4.4.28.rst new file mode 100644 index 00000000000..bd502363d5b --- /dev/null +++ b/source/includes/changelogs/releases/4.4.28.rst @@ -0,0 +1,37 @@ +.. _4.4.28-changelog: + +4.4.28 Changelog +---------------- + +Sharding +~~~~~~~~ + +- :issue:`SERVER-82883` Recovering TransactionCoordinator on stepup may + block acquiring read/write tickets while participants are in the + prepared state +- :issue:`SERVER-84459` [test-only bug] JumboChunksNotMovedRandom must + keep chunk manager in scope in v4.4 + +Internals +~~~~~~~~~ + +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch + data and ShardVersion +- :issue:`SERVER-80886` $out may fail with a StaleDbVersion after a + movePrimary +- :issue:`SERVER-82111` In sharded_agg_helpers.cpp move invariant below + response status check +- :issue:`SERVER-82365` Optimize the construction of the balancer's + collection distribution status histogram (2nd attempt) +- :issue:`SERVER-83485` Fix multikey-path serialization code used during + validation +- :issue:`SERVER-83494` [7.0] Fix range deleter unit test case +- :issue:`SERVER-83830` On Enterprise build creating a collection in a + replica set with the storageEngine.inMemory option breaks secondaries +- :issue:`SERVER-84337` Backport new variants added to perf.yml over to + sys-perf-7.0 and sys-perf-4.4 +- :issue:`SERVER-84353` The test for stepDown deadlock with read ticket + exhaustion is flaky +- :issue:`WT-7929` Investigate a solution to avoid FTDC stalls during + checkpoint + diff --git a/source/includes/changelogs/releases/5.0.24.rst b/source/includes/changelogs/releases/5.0.24.rst new file mode 100644 index 00000000000..ec184deddb3 --- /dev/null +++ b/source/includes/changelogs/releases/5.0.24.rst @@ -0,0 +1,153 @@ +.. _5.0.24-changelog: + +5.0.24 Changelog +---------------- + +Sharding +~~~~~~~~ + +- :issue:`SERVER-50792` Return more useful errors when a shard key index + can't be found for shardCollection/refineCollectionShardKey +- :issue:`SERVER-73763` Resharding does not extend zone ranges for + config.tag docs, leading to config server primary fassert loop from + duplicate key error +- :issue:`SERVER-82838` ReshardingOplogApplier uses {w: "majority", + wtimeout: 60000} write concern when persisting resharding oplog + application progress +- :issue:`SERVER-82883` Recovering TransactionCoordinator on stepup may + block acquiring read/write tickets while participants are in the + prepared state +- :issue:`SERVER-82953` + CreateCollectionCoordinator::checkIfOptionsConflict should be more + verbose +- :issue:`SERVER-83146` Bulk write operation might fail with + NamespaceNotFound + +Replication +~~~~~~~~~~~ + +- :issue:`SERVER-55465` Fix Invariant upon failed request for a vote + from the current primary in the election dry-run of catchup takeover +- :issue:`SERVER-70155` Add duration of how long an oplog slot is kept + open to mongod "Slow query" log lines + +Catalog +~~~~~~~ + +:issue:`SERVER-82129` FCV 5.0 Upgrade fails due to +config.cache.collections missing UUIDs for most collections + +Storage +~~~~~~~ + +:issue:`SERVER-33494` WT SizeStorer never deletes old entries + +Internals +~~~~~~~~~ + +- :issue:`SERVER-65666` Do not create chunks on draining shards when + sharding a new collection +- :issue:`SERVER-67766` Log index and collection successful drop +- :issue:`SERVER-69063` Fix TCP keepalive option setting +- :issue:`SERVER-69615` Rollback fuzzing in WiredTiger leads to size + storer marked dirty at shutdown +- :issue:`SERVER-74074` Exclude auth consistency workloads from + concurrency simultaneous suites +- :issue:`SERVER-77311` Add a new log message when a secondary node is + skipping a two-phase index build with a subset of indexes built +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch + data and ShardVersion +- :issue:`SERVER-77926` Add LSAN suppressions for executor worker + threads +- :issue:`SERVER-78009` shardSvrCommitReshardCollection command should + fail recoverably if the node is shutting down +- :issue:`SERVER-79864` TTL deleter does not correctly handle time + series collections with extended range dates +- :issue:`SERVER-79982` Batched catalog writers can run concurrently + with HistoricalCatalogIdTracker::cleanup() and lead to incorrect PIT + find results. +- :issue:`SERVER-80789` Make AutoGetOplog behave consistently in replica + set node started as standalone +- :issue:`SERVER-80886` $out may fail with a StaleDbVersion after a + movePrimary +- :issue:`SERVER-80974` Unclean shutdown while dropping local.* + collection and indexes can make the catalog inconsistent +- :issue:`SERVER-81143` export_import_concurrency.js should check for + code 2 when killing child resmoke client +- :issue:`SERVER-81442` Poke WT oplog reclamation thread periodically +- :issue:`SERVER-81573` ExpressionNary::optimize crashes on initialized + children in v4.4 and 5.0 +- :issue:`SERVER-81878` startupRecoveryForRestore may not play nicely + with collection drop applied during startup recovery +- :issue:`SERVER-81949` Sync from 10gen/mongo to mongodb/mongo on v4.4 + with copybara +- :issue:`SERVER-82043` Enhancement of Commit Message Validation for + 10gen/mongo Commits +- :issue:`SERVER-82111` In sharded_agg_helpers.cpp move invariant below + response status check +- :issue:`SERVER-82223` Commit handler in FCV op observer is susceptible + to interruption +- :issue:`SERVER-82391` [v4.4] Only allow github Apps Copybara Syncer: + 10gen-to-Mongodb to syncs new commits to mongodb/mongo +- :issue:`SERVER-82447` $project incorrectly pushed down on timeseries + when $project uses $getField on a measurement field +- :issue:`SERVER-82449` [v4.4] Optimize copybara sync behavior for + specific no-change scenarios +- :issue:`SERVER-82555` Use shallow clone to speed up performance tests +- :issue:`SERVER-82640` Upload mongod --version output to S3 during + server compilation in Evergreen +- :issue:`SERVER-82708` Update variants used to performance test stable + branches +- :issue:`SERVER-82730` The validate cmd can invariant on corrupted + keystrings +- :issue:`SERVER-83091` $or query can trigger an infinite loop during + plan enumeration +- :issue:`SERVER-83161` Fix concurrent read to _errMsg from + MigrationDestinationManager without acquiring mutex +- :issue:`SERVER-83283` Modify copybara script to send slack message on + failure +- :issue:`SERVER-83336` Temporarily disable + wt_size_storer_cleanup_replica_set.js on macOS +- :issue:`SERVER-83354` Schedule copybara instance after each commit + made +- :issue:`SERVER-83485` Fix multikey-path serialization code used during + validation +- :issue:`SERVER-83494` [7.0] Fix range deleter unit test case +- :issue:`SERVER-83592` Add resmoke flag --enable_enterprise_tests + enable enterprise js tests +- :issue:`SERVER-83655` Restore legal client ns exception for + admin.system.new_users +- :issue:`SERVER-83830` On Enterprise build creating a collection in a + replica set with the storageEngine.inMemory option breaks secondaries +- :issue:`SERVER-83874` Move primary operation doesn't drop + db.system.views on the donor +- :issue:`SERVER-83916` Add LSAN Suppression for threads leaked by + unjoined thread pools +- :issue:`SERVER-84013` Incorrect results for index scan plan on query + with duplicate predicates in nested $or +- :issue:`SERVER-84353` The test for stepDown deadlock with read ticket + exhaustion is flaky +- :issue:`SERVER-84435` Deploy enterprise module consolidation to branch + v5.0 +- :issue:`SERVER-84457` [v5.0] Explicitly declare type of term field in + sync source resolver query +- :issue:`SERVER-84479` Amend burn_in test to tolerate absence of + manifest +- :issue:`SERVER-84576` [v5.0] Update 5.0 Readme +- :issue:`WT-7929` Investigate a solution to avoid FTDC stalls during + checkpoint +- :issue:`WT-9257` test_checkpoint WT_NOTFOUND failure on CS +- :issue:`WT-9821` Add option to verify to report all data corruption in + a file +- :issue:`WT-10601` Fix wt verify -c failure when first block on page is + corrupt +- :issue:`WT-10961` Fix OOO keys caused by racing deletion and insertion + on left subtrees +- :issue:`WT-10972` Eliminate long periods of silence when recovering + with recovery_progress verbose messages enabled +- :issue:`WT-11280` Generation tracking might not be properly + synchronized +- :issue:`WT-11774` Add diagnostic stat to investigate eviction server's + inability to queue pages +- :issue:`WT-12036` Workaround for lock contention on Windows + diff --git a/source/includes/changelogs/releases/6.0.13.rst b/source/includes/changelogs/releases/6.0.13.rst new file mode 100644 index 00000000000..e68d3525130 --- /dev/null +++ b/source/includes/changelogs/releases/6.0.13.rst @@ -0,0 +1,181 @@ +.. _6.0.13-changelog: + +6.0.13 Changelog +---------------- + +Sharding +~~~~~~~~ + +- :issue:`SERVER-50792` Return more useful errors when a shard key index + can't be found for shardCollection/refineCollectionShardKey +- :issue:`SERVER-73763` Resharding does not extend zone ranges for + config.tag docs, leading to config server primary fassert loop from + duplicate key error +- :issue:`SERVER-82838` ReshardingOplogApplier uses {w: "majority", + wtimeout: 60000} write concern when persisting resharding oplog + application progress +- :issue:`SERVER-82883` Recovering TransactionCoordinator on stepup may + block acquiring read/write tickets while participants are in the + prepared state +- :issue:`SERVER-82953` + CreateCollectionCoordinator::checkIfOptionsConflict should be more + verbose +- :issue:`SERVER-83146` Bulk write operation might fail with + NamespaceNotFound +- :issue:`SERVER-83775` Do not balance data between shards owning more + than the ideal data size + +Replication +~~~~~~~~~~~ + +:issue:`SERVER-70155` Add duration of how long an oplog slot is kept +open to mongod "Slow query" log lines + +Storage +~~~~~~~ + +:issue:`SERVER-33494` WT SizeStorer never deletes old entries + +Internals +~~~~~~~~~ + +- :issue:`SERVER-62955` Add a no-op oplog entry for reshardCollection + command +- :issue:`SERVER-65666` Do not create chunks on draining shards when + sharding a new collection +- :issue:`SERVER-67766` Log index and collection successful drop +- :issue:`SERVER-69615` Rollback fuzzing in WiredTiger leads to size + storer marked dirty at shutdown +- :issue:`SERVER-70338` Query yield accesses the storage engine without + locks during shutdown and rollback +- :issue:`SERVER-70974` Fix early-exits triggered when user specifies + TCP Fast Open server parameters +- :issue:`SERVER-71923` Emit change log event for + ConfigureCollectionBalancing invocations +- :issue:`SERVER-72683` increase timeout in disk/directoryperdb.js +- :issue:`SERVER-73439` Make the $inProg filter in the setup for the + killop test more specific +- :issue:`SERVER-74074` Exclude auth consistency workloads from + concurrency simultaneous suites +- :issue:`SERVER-75033` Capture core dumps from test failures on macOS +- :issue:`SERVER-76560` Time series collections not always honoring + expireAfterSeconds correctly +- :issue:`SERVER-77311` Add a new log message when a secondary node is + skipping a two-phase index build with a subset of indexes built +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch + data and ShardVersion +- :issue:`SERVER-77827` Allow restore role to drop system.views +- :issue:`SERVER-77926` Add LSAN suppressions for executor worker + threads +- :issue:`SERVER-78009` shardSvrCommitReshardCollection command should + fail recoverably if the node is shutting down +- :issue:`SERVER-79235` rolling_index_builds_interrupted.js checkLog + relies on clearRawMongoProgramOutput +- :issue:`SERVER-79864` TTL deleter does not correctly handle time + series collections with extended range dates +- :issue:`SERVER-79982` Batched catalog writers can run concurrently + with HistoricalCatalogIdTracker::cleanup() and lead to incorrect PIT + find results. +- :issue:`SERVER-80660` Log a summary of where mongodb spent time during + startup and shutdown +- :issue:`SERVER-80789` Make AutoGetOplog behave consistently in replica + set node started as standalone +- :issue:`SERVER-80974` Unclean shutdown while dropping local.* + collection and indexes can make the catalog inconsistent +- :issue:`SERVER-81028` Incorrect $listCatalog behavior in presence of a + concurrent collection rename in v7.0 +- :issue:`SERVER-81046` add requireSequenceTokens to + SearchCommand.CursorOptions +- :issue:`SERVER-81133` Speedup logic to persist routing table cache +- :issue:`SERVER-81143` export_import_concurrency.js should check for + code 2 when killing child resmoke client +- :issue:`SERVER-81375` Disable internal transactions resharding tests + in CSRS stepdown suite +- :issue:`SERVER-81442` Poke WT oplog reclamation thread periodically +- :issue:`SERVER-81606` Exclude untimestamped catalog durability test + from in-memory variants +- :issue:`SERVER-81949` Sync from 10gen/mongo to mongodb/mongo on v4.4 + with copybara +- :issue:`SERVER-82043` Enhancement of Commit Message Validation for + 10gen/mongo Commits +- :issue:`SERVER-82073` Fix merge chunk command generation in + collection_defragmentation.js +- :issue:`SERVER-82111` In sharded_agg_helpers.cpp move invariant below + response status check +- :issue:`SERVER-82197` Incorrect query results in SBE if $group spills + in presence of collation +- :issue:`SERVER-82223` Commit handler in FCV op observer is susceptible + to interruption +- :issue:`SERVER-82365` Optimize the construction of the balancer's + collection distribution status histogram (2nd attempt) +- :issue:`SERVER-82368` Match top/bottom N accumulators in SBE and + Classic +- :issue:`SERVER-82391` [v4.4] Only allow github Apps Copybara Syncer: + 10gen-to-Mongodb to syncs new commits to mongodb/mongo +- :issue:`SERVER-82437` db.collection.getSearchIndexes() + returns duplicate index +- :issue:`SERVER-82447` $project incorrectly pushed down on timeseries + when $project uses $getField on a measurement field +- :issue:`SERVER-82449` [v4.4] Optimize copybara sync behavior for + specific no-change scenarios +- :issue:`SERVER-82555` Use shallow clone to speed up performance tests +- :issue:`SERVER-82640` Upload mongod --version output to S3 during + server compilation in Evergreen +- :issue:`SERVER-82708` Update variants used to performance test stable + branches +- :issue:`SERVER-82730` The validate cmd can invariant on corrupted + keystrings +- :issue:`SERVER-82781` Simulate crash test hook may leave behind part + of file when copying data +- :issue:`SERVER-82967` Stepdown after calling + ActiveIndexBuilds::registerIndexBuild() during index build setup + doesn't unregister itself +- :issue:`SERVER-83091` $or query can trigger an infinite loop during + plan enumeration +- :issue:`SERVER-83099` LDAPTimer::setTimeout may run callback inline +- :issue:`SERVER-83107` Add 'type' field to search IndexDefinition + struct +- :issue:`SERVER-83161` Fix concurrent read to _errMsg from + MigrationDestinationManager without acquiring mutex +- :issue:`SERVER-83283` Modify copybara script to send slack message on + failure +- :issue:`SERVER-83336` Temporarily disable + wt_size_storer_cleanup_replica_set.js on macOS +- :issue:`SERVER-83354` Schedule copybara instance after each commit + made +- :issue:`SERVER-83389` aggregation_optimization_fuzzer fails on 6.0 and + 7.0 with a disabled disablePipelineOptimization failpoint +- :issue:`SERVER-83485` Fix multikey-path serialization code used during + validation +- :issue:`SERVER-83494` [7.0] Fix range deleter unit test case +- :issue:`SERVER-83567` Push in classic stores missing values. +- :issue:`SERVER-83592` Add resmoke flag --enable_enterprise_tests + enable enterprise js tests +- :issue:`SERVER-83655` Restore legal client ns exception for + admin.system.new_users +- :issue:`SERVER-83830` On Enterprise build creating a collection in a + replica set with the storageEngine.inMemory option breaks secondaries +- :issue:`SERVER-83866` Update BACKPORTS_REQUIRED_BASE_URL from + mongodb/mongo to 10gen/mongo +- :issue:`SERVER-83874` Move primary operation doesn't drop + db.system.views on the donor +- :issue:`SERVER-83916` Add LSAN Suppression for threads leaked by + unjoined thread pools +- :issue:`SERVER-83993` timeseries_union_with.js fails intermittently in + retryable_writes_downgrade suites on v6.0 +- :issue:`SERVER-84013` Incorrect results for index scan plan on query + with duplicate predicates in nested $or +- :issue:`SERVER-84130` Incorrect bucket-level filter optimization when + some events in the bucket are missing the field +- :issue:`SERVER-84353` The test for stepDown deadlock with read ticket + exhaustion is flaky +- :issue:`WT-11121` failed: format next returned OOO key +- :issue:`WT-11186` Restore ignore_prepare semantics to read with + read_committed isolation instead of read_uncommitted +- :issue:`WT-11491` Log the WiredTiger time spent during startup and + shutdown +- :issue:`WT-11774` Add diagnostic stat to investigate eviction server's + inability to queue pages +- :issue:`WT-12036` Workaround for lock contention on Windows +- :issue:`WT-12147` Temporarily disable clang-analyzer + diff --git a/source/includes/changelogs/releases/6.0.14.rst b/source/includes/changelogs/releases/6.0.14.rst new file mode 100644 index 00000000000..d7b674f405f --- /dev/null +++ b/source/includes/changelogs/releases/6.0.14.rst @@ -0,0 +1,159 @@ +.. _6.0.14-changelog: + +6.0.14 Changelog +---------------- + +Sharding +~~~~~~~~ + +:issue:`SERVER-81508` Potential double-execution of write statements +when ShardCannotRefreshDueToLocksHeld is thrown + +Aggregation +~~~~~~~~~~~ + +:issue:`SERVER-82929` $listSearchIndexes requires find privilege action +rather than listSearchIndexes privilege action as it intended + +Storage +~~~~~~~ + + +WiredTiger +`````````` + +- :issue:`WT-12316` Fix timing stress options in test/format for 6.0 and + older branches + +Build and Packaging +~~~~~~~~~~~~~~~~~~~ + +:issue:`SERVER-62957` Add reshardCollection change stream event + +Internals +~~~~~~~~~ + +- :issue:`SERVER-64444` listIndexes fails on invalid pre-5.0 index spec + after upgrade +- :issue:`SERVER-65908` Update fields for reshardCollection noop message +- :issue:`SERVER-66503` ObjectIsBusy thrown in unindex +- :issue:`SERVER-68674` Vendor an immutable/persistent data structure + library +- :issue:`SERVER-69413` Documentation Updates +- :issue:`SERVER-72839` Server skips peer certificate validation if + neither CAFile nor clusterCAFile is provided +- :issue:`SERVER-74874` Add typedef for immutable unordered map and set +- :issue:`SERVER-74875` Implement immutable ordered map and set +- :issue:`SERVER-74876` Evaluate which immer memory policy to use +- :issue:`SERVER-74946` Convert containers in CollectionCatalog for + collection lookup to immutable +- :issue:`SERVER-74947` Convert containers in CollectionCatalog for view + lookup to immutable +- :issue:`SERVER-74951` Convert containers in CollectionCatalog for + profile settings to immutable +- :issue:`SERVER-75263` Add immer benchmarks +- :issue:`SERVER-75497` Convert ordered containers in CollectionCatalog + to immutable +- :issue:`SERVER-75613` Add GDB pretty printers for immutable data + structures +- :issue:`SERVER-75851` Add typedef for immutable vector +- :issue:`SERVER-76789` Add immer to README.third_party.md +- :issue:`SERVER-77694` cannot compile immer header with --opt=off +- :issue:`SERVER-78311` mongos does not report writeConcernError in + presence of writeErrors for insert command +- :issue:`SERVER-78662` Deadlock with index build, step down, prepared + transaction, and MODE_IS coll lock +- :issue:`SERVER-78911` Always suppress "Different user name was + supplied to saslSupportedMechs" log during X.509 intracluster auth +- :issue:`SERVER-79150` Reduce ScopedSetShardRole scope to setup stage + of index build +- :issue:`SERVER-79202` PinnedConnectionTaskExecutor can hang when + shutting down +- :issue:`SERVER-80150` Log negotiated network compressor with client + metadata +- :issue:`SERVER-80177` validate() should not return valid:false for + non-compliant documents +- :issue:`SERVER-80279` Commit on non-existing transaction then proceed + to continue can trigger an invariant +- :issue:`SERVER-80978` Fix potential deadlock between + TTLMonitor::onStepUp and prepared transaction +- :issue:`SERVER-82353` Multi-document transactions can miss documents + when movePrimary runs concurrently +- :issue:`SERVER-82627` ReshardingDataReplication does not join the + ReshardingOplogFetcher thread pool causing invariant failure. +- :issue:`SERVER-82815` Expose server’s index key creation via + aggregation +- :issue:`SERVER-83050` Create a deployment of mongodb on + AL2-openssl-1.1.1 +- :issue:`SERVER-83119` Secondary replica crashes on clustered + collection if notablescan is enabled +- :issue:`SERVER-83145` Shared buffer fragment incorrectly tracks memory + usage in freeUnused() +- :issue:`SERVER-83337` Re-enable wt_size_storer_cleanup_replica_set.js + on macOS +- :issue:`SERVER-83369` Index creation does not enforce type of + bucketSize field +- :issue:`SERVER-83564` Make sure the process field is indexed in + config.locks +- :issue:`SERVER-83610` Consider reducing privileges required for + $documents +- :issue:`SERVER-83955` Fix wrong warning messages in ReplSetGetStatus + command +- :issue:`SERVER-84063` Remove BlackDuck from Security Daily Cron +- :issue:`SERVER-84233` Support BSON MinKey and MaxKey in BSONColumn +- :issue:`SERVER-84336` Timeseries inserts can leave dangling BSONObj in + WriteBatches in certain cases +- :issue:`SERVER-84722` Create undocumented server parameter to skip + document validation on insert code path for internal usage +- :issue:`SERVER-84747` Deploy enterprise module consolidation to branch + v6.0 +- :issue:`SERVER-84749` Remove + sharding_update_v1_oplog_jscore_passthrough from macOS variants +- :issue:`SERVER-84772` Delete stitch-related tasks in enterprise + variant +- :issue:`SERVER-85167` Size storer can be flushed concurrently with + being destructed for rollback +- :issue:`SERVER-85171` split unittest tasks up +- :issue:`SERVER-85206` Improve performance of full_range.js and + explicit_range.js +- :issue:`SERVER-85245` FailedToParse error during setParamater of + wiredTigerConcurrentReadTransactions +- :issue:`SERVER-85263` Report escaped client application name +- :issue:`SERVER-85306` Update sys-perf config to use HTTPs github links + rather than SSH +- :issue:`SERVER-85364` [6.0] Convert resource map in CollectionCatalog + to immutable +- :issue:`SERVER-85365` [6.0] Convert shadow catalog in + CollectionCatalog to immutable +- :issue:`SERVER-85386` [v6.0] Adjust configuration to ensure + 'enterprise' module does not appear in version manifest +- :issue:`SERVER-85419` Balancer pollutes logs in case no suitable + recipient is found during draining +- :issue:`SERVER-85530` Refresh Test Certificates +- :issue:`SERVER-85631` Remove jstests/noPassthrough/ttl_expire_nan.js +- :issue:`SERVER-85652` Update DSI atlas azure tasks to use an AL2 + compile artifact. +- :issue:`SERVER-85693` Fix potential access violation in + User::validateRestrictions +- :issue:`SERVER-85707` [v6.0] Adding $changeStreamSplitLargeEvent stage + fails on v6.0 mongoS +- :issue:`SERVER-85771` Make $bucketAuto more robust in the case of an + empty string for the groupBy field +- :issue:`SERVER-85848` $redact inhibits change stream optimization +- :issue:`SERVER-86027` Tag + insert_docs_larger_than_max_user_size_standalone.js with + requires_persistence and requires_replication +- :issue:`SERVER-86081` Sys-perf missing required parameters due to + Evergreen Redaction +- :issue:`SERVER-86177` Remove extra lines added during backport +- :issue:`SERVER-86363` Make container registry login silent +- :issue:`SERVER-86388` Remove fle_drivers_integration.js test from 6.0 +- :issue:`WT-9057` Null address read in compact walk +- :issue:`WT-9824` Add testing to file manager WT connection + configurations in test/format +- :issue:`WT-12077` Incorrect hardware checksum calculation on zSeries + for buffers on stack +- :issue:`WT-12211` Fix PATH env variable in hang analyzer to generate + python core dump (7.0) +- :issue:`WT-12272` Remove unnecessary module in evergreen.yml + diff --git a/source/includes/changelogs/releases/7.0.5.rst b/source/includes/changelogs/releases/7.0.5.rst index eac67a2a865..cef13708985 100644 --- a/source/includes/changelogs/releases/7.0.5.rst +++ b/source/includes/changelogs/releases/7.0.5.rst @@ -20,8 +20,6 @@ Sharding verbose - :issue:`SERVER-83061` Remove partially-released vestiges of ShardRole API from 7.0 -- :issue:`SERVER-83146` Bulk write operation might fail with - NamespaceNotFound Query ~~~~~ @@ -45,6 +43,7 @@ Internals locks during shutdown and rollback - :issue:`SERVER-70974` Fix early-exits triggered when user specifies TCP Fast Open server parameters +- :issue:`SERVER-75033` Capture core dumps from test failures on macOS - :issue:`SERVER-76560` Time series collections not always honoring expireAfterSeconds correctly - :issue:`SERVER-77311` Add a new log message when a secondary node is @@ -124,6 +123,8 @@ Internals response status check - :issue:`SERVER-82143` Make clientId OIDC IdP configuration field optional +- :issue:`SERVER-82197` Incorrect query results in SBE if $group spills + in presence of collation - :issue:`SERVER-82223` Commit handler in FCV op observer is susceptible to interruption - :issue:`SERVER-82313` Fix cancelling txn api from the caller @@ -209,6 +210,8 @@ Internals - :issue:`SERVER-84087` Make sure ExecutorPool gets terminated after migrations have completed - :issue:`SERVER-84148` Fix timing issue in fle2_compact_setfcv.js test +- :issue:`SERVER-84337` Backport new variants added to perf.yml over to + sys-perf-7.0 and sys-perf-4.4 - :issue:`WT-7929` Investigate a solution to avoid FTDC stalls during checkpoint - :issue:`WT-11584` Fix test_checkpoint_stats test diff --git a/source/includes/changelogs/releases/7.2.1.rst b/source/includes/changelogs/releases/7.2.1.rst new file mode 100644 index 00000000000..ace21e5db72 --- /dev/null +++ b/source/includes/changelogs/releases/7.2.1.rst @@ -0,0 +1,156 @@ +.. _7.2.1-changelog: + +7.2.1 Changelog +--------------- + +Sharding +~~~~~~~~ + +- :issue:`SERVER-77667` Prevent mongos from starting new transactions at + shutdown +- :issue:`SERVER-81508` Potential double-execution of write statements + when ShardCannotRefreshDueToLocksHeld is thrown +- :issue:`SERVER-83775` Do not balance data between shards owning more + than the ideal data size +- :issue:`SERVER-84738` Fix Data Race in ReshardingCollectionCloner + +Query +~~~~~ + +- :issue:`SERVER-83470` Introduce internalQueryFrameworkControl setting + for 6.0-style engine selection logic +- :issue:`SERVER-84595` Delete invalid test + jstests/noPassthrough/out_majority_read_replset.js + +Aggregation +~~~~~~~~~~~ + +:issue:`SERVER-82929` $listSearchIndexes requires find privilege action +rather than listSearchIndexes privilege action as it intended + +Storage +~~~~~~~ + + +WiredTiger +`````````` + +- :issue:`WT-11845` Fix transaction visibility issue with truncate +- :issue:`WT-11911` Fix use-after-free with bounded cursor and + search_near + +Internals +~~~~~~~~~ + +- :issue:`SERVER-72703` Downgrade $out's db lock to MODE_IX +- :issue:`SERVER-79486` Increase the cardinality of the new shard key +- :issue:`SERVER-80363` server default writeConcern is not honored when + wtimeout is set +- :issue:`SERVER-81313` change streams fail to re-parse their own + representative query shape serialization for ResumeToken +- :issue:`SERVER-81496` Weird shapification behavior for + $convert/$toString +- :issue:`SERVER-81517` blacklist validate_db_metadata_command.js from + migrations suite +- :issue:`SERVER-81994` $densify range doesn't re-parse correctly +- :issue:`SERVER-82197` Incorrect query results in SBE if $group spills + in presence of collation +- :issue:`SERVER-82221` listCollections and listIndexes should include + commit-pending namespaces +- :issue:`SERVER-82313` Fix cancelling txn api from the caller +- :issue:`SERVER-82365` Optimize the construction of the balancer's + collection distribution status histogram (2nd attempt) +- :issue:`SERVER-82437` db.collection.getSearchIndexes() + returns duplicate index +- :issue:`SERVER-82676` gRPC unit tests reuse port, causing conflicts + with concurrently running tests +- :issue:`SERVER-82706` check_metadata_consistency.js should use + retriable writes when contacting config server +- :issue:`SERVER-82791` createView fails with StaleConfig if a sharded + collection already exists with the same namespace +- :issue:`SERVER-82815` Expose server’s index key creation via + aggregation +- :issue:`SERVER-82822` Remove Bad Invariant in RetryUntilMajorityCommit +- :issue:`SERVER-82967` Stepdown after calling + ActiveIndexBuilds::registerIndexBuild() during index build setup + doesn't unregister itself +- :issue:`SERVER-83003` $listSearchIndexes should throw on non-existent + DB +- :issue:`SERVER-83119` Secondary replica crashes on clustered + collection if notablescan is enabled +- :issue:`SERVER-83337` Re-enable wt_size_storer_cleanup_replica_set.js + on macOS +- :issue:`SERVER-83369` Index creation does not enforce type of + bucketSize field +- :issue:`SERVER-83492` Remove limit and skip values from SBE plan cache + key if possible +- :issue:`SERVER-83534` Allow IDL generator to accomodate query_shape + :custom +- :issue:`SERVER-83580` Re-introduce balancer policy unittests with + multiple chunks +- :issue:`SERVER-83685` Make internalQueryFrameworkControl + "trySbeRestricted" the default query knob +- :issue:`SERVER-83765` SessionWorkflow benchmark doesn't start up + ServiceExecutors +- :issue:`SERVER-83766` SessionWorkflow benchmark's mocked sessions + cannot access their transport layer +- :issue:`SERVER-83777` Cap $in length in plan cache key with + internalQueryMaxScansToExplode + 1 +- :issue:`SERVER-83825` increase log verbosity for write conflict + retries in index_build_operation_metrics.js: +- :issue:`SERVER-83830` On Enterprise build creating a collection in a + replica set with the storageEngine.inMemory option breaks secondaries +- :issue:`SERVER-83866` Update BACKPORTS_REQUIRED_BASE_URL from + mongodb/mongo to 10gen/mongo +- :issue:`SERVER-83874` Move primary operation doesn't drop + db.system.views on the donor +- :issue:`SERVER-83959` When preparing SBE plan, correctly pass + preparingFromCache argument +- :issue:`SERVER-84013` Incorrect results for index scan plan on query + with duplicate predicates in nested $or +- :issue:`SERVER-84063` Remove BlackDuck from Security Daily Cron +- :issue:`SERVER-84087` Make sure ExecutorPool gets terminated after + migrations have completed +- :issue:`SERVER-84130` Incorrect bucket-level filter optimization when + some events in the bucket are missing the field +- :issue:`SERVER-84186` Add benchmark that runs math operations in + Timeseries to sys perf +- :issue:`SERVER-84241` AsioTransportLayer::stopAcceptingSessions can + deadlock if called before listener thread started listening +- :issue:`SERVER-84278` Don't generate plan cache entries for EOF plans +- :issue:`SERVER-84338` Top level $or queries may lead to invalid SBE + plan cache entry which returns wrong results +- :issue:`SERVER-84353` The test for stepDown deadlock with read ticket + exhaustion is flaky +- :issue:`SERVER-84369` Ineligible query reuses plan cache entry for a + COUNT_SCAN (SBE only) +- :issue:`SERVER-84436` Handle skip + limit sum overflowing int64_t in + SBE +- :issue:`SERVER-84468` Fix deadlock when running + runTransactionOnShardingCatalog() +- :issue:`SERVER-84494` [v7.2] Remove $search tests in SBE since it is + disabled in 7.2 +- :issue:`SERVER-84502` Remove test_packages_release task from v7.3 + branch +- :issue:`SERVER-84546` switch asan statically linked test to dynamic + link +- :issue:`SERVER-84567` writeQueryStats should log an error rather than + uassert when the feature flag is disabled +- :issue:`SERVER-84731` Resharding aggregation query should not acquire + RSTL-IX when waiting lastStableRecoveryTimestamp +- :issue:`SERVER-85263` Report escaped client application name +- :issue:`WT-11062` Safe free the ref addr to allow concurrent access +- :issue:`WT-11669` Create new log record for backup ids +- :issue:`WT-11987` Table's version number dropped to + version=(major=1,minor=0) +- :issue:`WT-12036` Workaround for lock contention on Windows +- :issue:`WT-12043` Remove obsolete HAVE_DIAGNOSTIC ifdefs to avoid + memory leak +- :issue:`WT-12092` Update the WiredTiger version in dockerfile +- :issue:`WT-12099` race between mmap threads resizing and + reading/writing +- :issue:`WT-12100` Fix csuite-long-running timeouts under MSan +- :issue:`WT-12110` Disable timestamp_abort backup tests in the + compatibility mode +- :issue:`WT-12147` Temporarily disable clang-analyzer + diff --git a/source/includes/connection-pool/max-connecting-use-case.rst b/source/includes/connection-pool/max-connecting-use-case.rst new file mode 100644 index 00000000000..cd87cd070c2 --- /dev/null +++ b/source/includes/connection-pool/max-connecting-use-case.rst @@ -0,0 +1,6 @@ +Raising the value of ``maxConnecting`` allows the client to establish +connection to the server faster, but increases the chance of +:term:`connection storms `. If the value of +``maxConnecting`` is too low, your connection pool may experience heavy +throttling and increased tail latency for clients checking out +connections. diff --git a/source/includes/cqa-limitations.rst b/source/includes/cqa-limitations.rst index 2252b7d99a2..21f5816a751 100644 --- a/source/includes/cqa-limitations.rst +++ b/source/includes/cqa-limitations.rst @@ -1,5 +1,5 @@ - You cannot run |CQA| on Atlas - :atlas:`multi-tenant ` + :atlas:`multi-tenant ` configurations. - You cannot run |CQA| on standalone deployments. diff --git a/source/includes/cqa-queryAnalysisSampleExpirationSecs.rst b/source/includes/cqa-queryAnalysisSampleExpirationSecs.rst index 691070a0c73..f3fe72babef 100644 --- a/source/includes/cqa-queryAnalysisSampleExpirationSecs.rst +++ b/source/includes/cqa-queryAnalysisSampleExpirationSecs.rst @@ -2,8 +2,7 @@ queryAnalysisSampleExpirationSecs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sampled queries are stored in an internal collection that has a TTL -index with ``expireAfterSeconds``. Configure ``expireAfterSeconds`` -with the ``queryAnalysisSampleExpirationSecs`` server parameter. -with the :parameter:`queryAnalysisSampleExpirationSecs`. +index with ``expireAfterSeconds``. To configure ``expireAfterSeconds``, +use the :parameter:`queryAnalysisSampleExpirationSecs` server parameter. Sampled queries are automatically deleted after ``queryAnalysisSampleExpirationSecs``. diff --git a/source/includes/driver-examples/driver-example-delete-result.rst b/source/includes/driver-examples/driver-example-delete-result.rst index a5c355d8a5e..4cb942abda1 100644 --- a/source/includes/driver-examples/driver-example-delete-result.rst +++ b/source/includes/driver-examples/driver-example-delete-result.rst @@ -47,10 +47,10 @@ - id: php content: | Upon successful execution, the - :phpmethod:`deleteMany() ` + :phpmethod:`deleteMany() ` method returns an instance of :phpclass:`MongoDB\\DeleteResult ` - whose :phpmethod:`getDeletedCount()` + whose :phpmethod:`getDeletedCount()` method returns the number of documents that matched the filter. - id: perl diff --git a/source/includes/driver-examples/driver-example-query-38.rst b/source/includes/driver-examples/driver-example-query-38.rst index 301a5718bce..4075a662212 100644 --- a/source/includes/driver-examples/driver-example-query-38.rst +++ b/source/includes/driver-examples/driver-example-query-38.rst @@ -76,15 +76,6 @@ :start-after: Start Example 38 :end-before: End Example 38 - - id: perl - content: | - - .. literalinclude:: /driver-examples/driver-examples.t - :language: perl - :dedent: 4 - :start-after: Start Example 38 - :end-before: End Example 38 - - id: ruby content: | diff --git a/source/includes/driver-examples/driver-example-query-39.rst b/source/includes/driver-examples/driver-example-query-39.rst index c6878bd7dee..93f9c6e0f7d 100644 --- a/source/includes/driver-examples/driver-example-query-39.rst +++ b/source/includes/driver-examples/driver-example-query-39.rst @@ -75,15 +75,6 @@ :start-after: Start Example 39 :end-before: End Example 39 - - id: perl - content: | - - .. literalinclude:: /driver-examples/driver-examples.t - :language: perl - :dedent: 4 - :start-after: Start Example 39 - :end-before: End Example 39 - - id: ruby content: | diff --git a/source/includes/driver-examples/driver-example-query-40.rst b/source/includes/driver-examples/driver-example-query-40.rst index 3777e0764b6..bee161130ec 100644 --- a/source/includes/driver-examples/driver-example-query-40.rst +++ b/source/includes/driver-examples/driver-example-query-40.rst @@ -75,15 +75,6 @@ :start-after: Start Example 40 :end-before: End Example 40 - - id: perl - content: | - - .. literalinclude:: /driver-examples/driver-examples.t - :language: perl - :dedent: 4 - :start-after: Start Example 40 - :end-before: End Example 40 - - id: ruby content: | diff --git a/source/includes/driver-examples/driver-example-query-41.rst b/source/includes/driver-examples/driver-example-query-41.rst index ec979093970..be1115b6f2a 100644 --- a/source/includes/driver-examples/driver-example-query-41.rst +++ b/source/includes/driver-examples/driver-example-query-41.rst @@ -75,15 +75,6 @@ :start-after: Start Example 41 :end-before: End Example 41 - - id: perl - content: | - - .. literalinclude:: /driver-examples/driver-examples.t - :language: perl - :dedent: 4 - :start-after: Start Example 41 - :end-before: End Example 41 - - id: ruby content: | diff --git a/source/includes/driver-examples/driver-example-query-intro-no-perl.rst b/source/includes/driver-examples/driver-example-query-intro-no-perl.rst new file mode 100644 index 00000000000..dc1d49485dd --- /dev/null +++ b/source/includes/driver-examples/driver-example-query-intro-no-perl.rst @@ -0,0 +1,123 @@ +.. tabs-drivers:: + + tabs: + - id: shell + content: | + + This page provides examples of |query_operations| using the + :method:`db.collection.find()` method in :binary:`mongosh`. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: compass + content: | + + This page provides examples of |query_operations| using + :ref:`MongoDB Compass `. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: python + content: | + + This page provides examples of |query_operations| using the + :py:meth:`pymongo.collection.Collection.find` method in the + :api:`PyMongo ` + Python driver. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: motor + content: | + + This page provides examples of |query_operations| using the + :py:meth:`motor.motor_asyncio.AsyncIOMotorCollection.find` + method in the `Motor `_ + driver. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: java-sync + content: | + + This page provides examples of |query_operations| using the + com.mongodb.client.MongoCollection.find_ method in the MongoDB + `Java Synchronous Driver`_. + + .. tip:: + + The driver provides com.mongodb.client.model.Filters_ + helper methods to facilitate the creation of filter + documents. The examples on this page use these methods to + create the filter documents. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: java-async + content: | + + This page provides examples of |query_operations| using the + `com.mongodb.reactivestreams.client.MongoCollection.find `_ + method in the MongoDB `Java Reactive Streams Driver `_. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: nodejs + content: | + + This page provides examples of |query_operations| using the + :node-api:`Collection.find() ` method in + the :node-docs:`MongoDB Node.js Driver <>`. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: php + content: | + + This page provides examples of |query_operations| using the + :phpmethod:`MongoDB\\Collection::find() ` + method in the + `MongoDB PHP Library `_. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: ruby + content: | + + This page provides examples of |query_operations| using the + :ruby-api:`Mongo::Collection#find()` + method in the + :ruby:`MongoDB Ruby Driver `. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: scala + content: | + + This page provides examples of |query_operations| using the + :scala-api:`collection.find()` method + in the + `MongoDB Scala Driver `_. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: csharp + content: | + + This page provides examples of |query_operations| using the + :csharp-api:`MongoCollection.Find() ` + method in the + `MongoDB C# Driver `_. + + .. include:: /includes/driver-examples/examples-intro.rst + + - id: go + content: | + + This page provides examples of |query_operations| using the + :go-api:`Collection.Find ` + function in the + `MongoDB Go Driver `_. + + .. include:: /includes/driver-examples/examples-intro.rst + diff --git a/source/includes/driver-examples/driver-example-query-intro.rst b/source/includes/driver-examples/driver-example-query-intro.rst index 7dc285e13b9..8192fc4c271 100644 --- a/source/includes/driver-examples/driver-example-query-intro.rst +++ b/source/includes/driver-examples/driver-example-query-intro.rst @@ -67,7 +67,7 @@ - id: php content: | This page provides examples of |query_operations| using the - :phpmethod:`MongoDB\\Collection::find() ` + :phpmethod:`MongoDB\\Collection::find() ` method in the `MongoDB PHP Library `_. diff --git a/source/includes/driver-examples/driver-procedure-indexes-1.rst b/source/includes/driver-examples/driver-procedure-indexes-1.rst index fbfe1ae8617..9e7b27a09de 100644 --- a/source/includes/driver-examples/driver-procedure-indexes-1.rst +++ b/source/includes/driver-examples/driver-procedure-indexes-1.rst @@ -77,7 +77,7 @@ To create an index using the `PHP driver `_, use - :phpmethod:`MongoDB\\Collection::createIndex() `. + :phpmethod:`MongoDB\\Collection::createIndex() `. .. code-block:: php diff --git a/source/includes/drop-hashed-shard-key-index-main.rst b/source/includes/drop-hashed-shard-key-index-main.rst new file mode 100644 index 00000000000..7cac62a24c9 --- /dev/null +++ b/source/includes/drop-hashed-shard-key-index-main.rst @@ -0,0 +1,7 @@ +Starting in MongoDB 7.0.3 (and 6.0.12 and 5.0.22), you can drop the +index for a hashed shard key. + +This can speed up data insertion for collections sharded with a hashed +shard key. It can also speed up data ingestion when using +``mongosync``. + diff --git a/source/includes/drop-hashed-shard-key-index.rst b/source/includes/drop-hashed-shard-key-index.rst new file mode 100644 index 00000000000..f1549f780e7 --- /dev/null +++ b/source/includes/drop-hashed-shard-key-index.rst @@ -0,0 +1,3 @@ +.. include:: /includes/drop-hashed-shard-key-index-main.rst + +For details, see :ref:`drop-a-hashed-shard-key-index`. diff --git a/source/includes/extracts-4.4-changes.yaml b/source/includes/extracts-4.4-changes.yaml index b8375ce62f5..7a942e17f3f 100644 --- a/source/includes/extracts-4.4-changes.yaml +++ b/source/includes/extracts-4.4-changes.yaml @@ -258,11 +258,11 @@ ref: 4.4-changes-minimum-oplog-retention-period content: | Starting in MongoDB 4.4, you can specify the minimum number of hours - to preserve an oplog entry. The :binary:`~bin.mongod` only removes - an oplog entry *if*: + to preserve an oplog entry where :binary:`~bin.mongod` only removes + an oplog entry *if* both of the following criteria are met: - The oplog has reached the :ref:`maximum configured size - `, *and* + `. - The oplog entry is older than the configured number of hours based on the host system clock. diff --git a/source/includes/extracts-agg-operators.yaml b/source/includes/extracts-agg-operators.yaml index be3fc6f1f30..d5a3cd300db 100644 --- a/source/includes/extracts-agg-operators.yaml +++ b/source/includes/extracts-agg-operators.yaml @@ -1133,6 +1133,19 @@ content: | Available in the :pipeline:`$setWindowFields` stage. + * - :group:`$minN` + + - Returns an aggregation of the ``n`` minimum valued elements + in a group. + Distinct from the :expression:`$minN` array operator. + + .. versionadded:: 5.2 + + Available in :pipeline:`$group`, + :pipeline:`$setWindowFields` + and as an :ref:`expression `. + + * - :group:`$percentile` - .. include:: /includes/aggregation/fact-return-percentile.rst diff --git a/source/includes/extracts-collation.yaml b/source/includes/extracts-collation.yaml index 40dd16bc0f6..866a5c954a1 100644 --- a/source/includes/extracts-collation.yaml +++ b/source/includes/extracts-collation.yaml @@ -168,7 +168,13 @@ content: |- .. code-block:: javascript db.myColl.find( { score: 5, category: "cafe" } ) + + .. important:: + Matches against document keys, including embedded document keys, + use simple binary comparison. This means that a query for a key + like "foo.bár" will not match the key "foo.bar", regardless of the value you + set for the :ref:`strength ` parameter. --- ref: collation-index diff --git a/source/includes/extracts-fact-findandmodify-return.yaml b/source/includes/extracts-fact-findandmodify-return.yaml index 88747a44775..6c1677daa80 100644 --- a/source/includes/extracts-fact-findandmodify-return.yaml +++ b/source/includes/extracts-fact-findandmodify-return.yaml @@ -8,7 +8,7 @@ content: | - If ``new`` is ``true``: - - the modified document if the query returns a match; + - the updated document if the query returns a match; - the inserted document if ``upsert: true`` and no document matches the query; diff --git a/source/includes/extracts-inequality-operators-selectivity.yaml b/source/includes/extracts-inequality-operators-selectivity.yaml index 939653b93ad..6735bdad1e3 100644 --- a/source/includes/extracts-inequality-operators-selectivity.yaml +++ b/source/includes/extracts-inequality-operators-selectivity.yaml @@ -18,9 +18,9 @@ content: | --- ref: ne_operators_selectivity content: | - The inequality operator :query:`$ne` is *not* very selective since + The inequality operator ``$ne`` is *not* very selective since it often matches a large portion of the index. As a result, in many - cases, a :query:`$ne` query with an index may perform no better - than a :query:`$ne` query that must scan all documents in a + cases, a ``$ne`` query with an index may perform no better + than a ``$ne`` query that must scan all documents in a collection. See also :ref:`read-operations-query-selectivity`. ... diff --git a/source/includes/extracts-ssl-facts.yaml b/source/includes/extracts-ssl-facts.yaml index fe7d3a04a90..38833f8bd73 100644 --- a/source/includes/extracts-ssl-facts.yaml +++ b/source/includes/extracts-ssl-facts.yaml @@ -16,9 +16,9 @@ content: | If ``--tlsCAFile``/``net.tls.CAFile`` (or their aliases ``--sslCAFile``/``net.ssl.CAFile``) is not specified - and you are not using x.509 authentication, the system-wide CA - certificate store will be used when connecting to an TLS/SSL-enabled - server. + and you are not using x.509 authentication, you must set the + :parameter:`tlsUseSystemCA` parameter to ``true``. This makes MongoDB use + the system-wide CA certificate store when connecting to a TLS-enabled server. .. include:: /includes/extracts/ssl-facts-x509-ca-file.rst diff --git a/source/includes/extracts-tls-facts.yaml b/source/includes/extracts-tls-facts.yaml index 2bcec88b450..397ce0379e6 100644 --- a/source/includes/extracts-tls-facts.yaml +++ b/source/includes/extracts-tls-facts.yaml @@ -13,9 +13,9 @@ ref: tls-facts-ca-file content: | If ``--tlsCAFile`` or ``tls.CAFile`` is not - specified and you are not using x.509 authentication, the - system-wide CA certificate store will be used when connecting to an - TLS-enabled server. + specified and you are not using x.509 authentication, you must set the + :parameter:`tlsUseSystemCA` parameter to ``true``. This makes MongoDB use + the system-wide CA certificate store when connecting to a TLS-enabled server. .. include:: /includes/extracts/tls-facts-x509-ca-file.rst diff --git a/source/includes/extracts-views.yaml b/source/includes/extracts-views.yaml index 621353fe853..751db1f0580 100644 --- a/source/includes/extracts-views.yaml +++ b/source/includes/extracts-views.yaml @@ -14,11 +14,6 @@ ref: views-unsupported-rename content: | You cannot rename :ref:`views `. --- -ref: views-unsupported-geoNear -content: | - :ref:`Views ` do not support geoNear operations - (specifically, the :pipeline:`$geoNear` pipeline stage). ---- ref: views-unsupported-projection-operators content: | :method:`~db.collection.find()` operations on views do not support diff --git a/source/includes/fact-environments-atlas-support-limited-free-and-m10.rst b/source/includes/fact-environments-atlas-support-limited-free-and-m10.rst new file mode 100644 index 00000000000..2764605c051 --- /dev/null +++ b/source/includes/fact-environments-atlas-support-limited-free-and-m10.rst @@ -0,0 +1,4 @@ +.. note:: + + This command has *limited support* in M0, M2, M5, and M10 clusters. + For more information, see :atlas:`Unsupported Commands `. diff --git a/source/includes/fact-meta-syntax.rst b/source/includes/fact-meta-syntax.rst index 0d34c05f9c2..7a080840ffe 100644 --- a/source/includes/fact-meta-syntax.rst +++ b/source/includes/fact-meta-syntax.rst @@ -41,13 +41,11 @@ The |meta-object| expression can specify the following values as the .. versionadded:: 4.4 - :atlas:`MongoDB Atlas Search ` provides additional ``$meta`` keywords, such as: -- :atlas:`"searchScore" ` and - -- :atlas:`"searchHighlights" - `. +- :atlas:`"searchScore" ` +- :atlas:`"searchHighlights" ` +- :atlas:`"searchSequenceToken" ` Refer to the Atlas Search documentation for details. diff --git a/source/includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst b/source/includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst new file mode 100644 index 00000000000..6336f9f4d6f --- /dev/null +++ b/source/includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst @@ -0,0 +1,8 @@ +When starting a :binary:`~bin.mongod` instance with +:ref:`TLS/SSL enabled `, you must +specify a value for the :option:`--tlsCAFile ` flag, the +:setting:`net.tls.CAFile` configuration option, or the :parameter:`tlsUseSystemCA` +parameter. + +``--tlsCAFile``, ``tls.CAFile``, and ``tlsUseSystemCA`` are all mutually +exclusive. diff --git a/source/includes/fact-stable-api-explain.rst b/source/includes/fact-stable-api-explain.rst new file mode 100644 index 00000000000..d9887b69643 --- /dev/null +++ b/source/includes/fact-stable-api-explain.rst @@ -0,0 +1,2 @@ +MongoDB does not guarantee any specific output format from the +:dbcommand:`explain` command, even when using the Stable API. \ No newline at end of file diff --git a/source/includes/fsync-mongos.rst b/source/includes/fsync-mongos.rst new file mode 100644 index 00000000000..8c2f82447a1 --- /dev/null +++ b/source/includes/fsync-mongos.rst @@ -0,0 +1,3 @@ + +When the |fsync| runs on :program:`mongos`, it performs the fysnc operation on the +primary config server as well as the primary members of each shard in the cluster. diff --git a/source/includes/indexes/case-insensitive-regex-queries.rst b/source/includes/indexes/case-insensitive-regex-queries.rst new file mode 100644 index 00000000000..f4aed20c612 --- /dev/null +++ b/source/includes/indexes/case-insensitive-regex-queries.rst @@ -0,0 +1,3 @@ +Case-insensitive indexes typically do not improve performance for +:query:`$regex` queries. The ``$regex`` implementation is not +collation-aware and cannot utilize case-insensitive indexes efficiently. diff --git a/source/includes/indexes/embedded-object-need-entire-doc.rst b/source/includes/indexes/embedded-object-need-entire-doc.rst new file mode 100644 index 00000000000..c413f2022e0 --- /dev/null +++ b/source/includes/indexes/embedded-object-need-entire-doc.rst @@ -0,0 +1,3 @@ +When you create an index on an embedded document, only queries that +specify the entire embedded document use the index. Queries on a +specific field within the document do not use the index. diff --git a/source/includes/ldap-srv-details.rst b/source/includes/ldap-srv-details.rst new file mode 100644 index 00000000000..9c35dcff453 --- /dev/null +++ b/source/includes/ldap-srv-details.rst @@ -0,0 +1,8 @@ +If your connection string specifies ``"srv:"``, |ldap-binary| +verifies that ``"_ldap._tcp.gc._msdcs."`` exists for SRV to +support Active Directory. If not found, |ldap-binary| verifies that +``"_ldap._tcp."`` exists for SRV. If an SRV record cannot be +found, |ldap-binary| warns you to use ``"srv_raw:"`` instead. + +If your connection string specifies ``"srv_raw:"``, +|ldap-binary| performs an SRV record lookup for ``""``. diff --git a/source/includes/limits-sharding-index-type.rst b/source/includes/limits-sharding-index-type.rst index 6988b6f4bad..03f45c07c96 100644 --- a/source/includes/limits-sharding-index-type.rst +++ b/source/includes/limits-sharding-index-type.rst @@ -3,9 +3,15 @@ key, a compound index that starts with the shard key and specifies ascending order for the shard key, or a :ref:`hashed index `. -A :term:`shard key` index cannot be a descending index on the shard key, -an index that specifies a :ref:`multikey index `, a -:ref:`text index ` or a :ref:`geospatial index -` on the :term:`shard key` fields. +A :term:`shard key` index *cannot* be: + +- A descending index on the shard key +- A :ref:`partial index ` +- Any of the following index types: + + - :ref:`Geospatial ` + - :ref:`Multikey ` + - :ref:`Text ` + - :ref:`Wildcard ` .. COMMENT seealso extracts-geospatial-index-shard-key-restriction.yaml diff --git a/source/includes/note-key-vault-permissions.rst b/source/includes/note-key-vault-permissions.rst new file mode 100644 index 00000000000..ffb548028d3 --- /dev/null +++ b/source/includes/note-key-vault-permissions.rst @@ -0,0 +1,5 @@ +To complete this tutorial, the database user your application uses to connect to +MongoDB must have :authrole:`dbAdmin` permissions on the following namespaces: + +- ``encryption.__keyVault`` +- ``medicalRecords`` database diff --git a/source/includes/note-shard-cluster-backup.rst b/source/includes/note-shard-cluster-backup.rst index 4c01ba33cd7..cd7a51b24ab 100644 --- a/source/includes/note-shard-cluster-backup.rst +++ b/source/includes/note-shard-cluster-backup.rst @@ -1,4 +1,3 @@ -.. important:: +.. important:: - To capture a consistent backup from a sharded - cluster you **must** stop *all* writes to the cluster. + To back up a sharded cluster you **must** stop *all* writes to the cluster. diff --git a/source/includes/qe-tutorials/node/queryable-encryption-helpers.js b/source/includes/qe-tutorials/node/queryable-encryption-helpers.js index 543c13ee965..b2fb8a7ebc0 100644 --- a/source/includes/qe-tutorials/node/queryable-encryption-helpers.js +++ b/source/includes/qe-tutorials/node/queryable-encryption-helpers.js @@ -147,28 +147,28 @@ export async function getAutoEncryptionOptions( const tlsOptions = getKmipTlsOptions(); // start-kmip-encryption-options - const sharedLibraryPathOptions = { + const extraOptions = { cryptSharedLibPath: process.env.SHARED_LIB_PATH, // Path to your Automatic Encryption Shared Library }; const autoEncryptionOptions = { keyVaultNamespace, kmsProviders, - sharedLibraryPathOptions, + extraOptions, tlsOptions, }; // end-kmip-encryption-options return autoEncryptionOptions; } else { // start-auto-encryption-options - const sharedLibraryPathOptions = { + const extraOptions = { cryptSharedLibPath: process.env.SHARED_LIB_PATH, // Path to your Automatic Encryption Shared Library }; const autoEncryptionOptions = { keyVaultNamespace, kmsProviders, - sharedLibraryPathOptions, + extraOptions, }; // end-auto-encryption-options diff --git a/source/includes/qe-tutorials/qe-quick-start.rst b/source/includes/qe-tutorials/qe-quick-start.rst new file mode 100644 index 00000000000..ee001b1ba2a --- /dev/null +++ b/source/includes/qe-tutorials/qe-quick-start.rst @@ -0,0 +1,18 @@ +- **kmsProviderName** - The KMS you're using to store your {+cmk-long+}. + Set this variable to ``"local"`` for this tutorial. +- **uri** - Your MongoDB deployment connection URI. Set your connection + URI in the ``MONGODB_URI`` environment variable or replace the value + directly. +- **keyVaultDatabaseName** - The database in MongoDB where your data + encryption keys (DEKs) will be stored. Set this variable + to ``"encryption"``. +- **keyVaultCollectionName** - The collection in MongoDB where your DEKs + will be stored. Set this variable to ``"__keyVault"``, which is the convention + to help prevent mistaking it for a user collection. +- **keyVaultNamespace** - The namespace in MongoDB where your DEKs will + be stored. Set this variable to the values of the ``keyVaultDatabaseName`` + and ``keyVaultCollectionName`` variables, separated by a period. +- **encryptedDatabaseName** - The database in MongoDB where your encrypted + data will be stored. Set this variable to ``"medicalRecords"``. +- **encryptedCollectionName** - The collection in MongoDB where your encrypted + data will be stored. Set this variable to ``"patients"``. diff --git a/source/includes/fact-qe-csfle-contention.rst b/source/includes/queryable-encryption/qe-csfle-contention.rst similarity index 95% rename from source/includes/fact-qe-csfle-contention.rst rename to source/includes/queryable-encryption/qe-csfle-contention.rst index 87e187c51ad..04f71c76c76 100644 --- a/source/includes/fact-qe-csfle-contention.rst +++ b/source/includes/queryable-encryption/qe-csfle-contention.rst @@ -11,7 +11,8 @@ at index 0. ``contention = 4`` creates an array with 5 elements at indexes 0-4. MongoDB increments a random array element during insert. If unset, ``contention`` defaults to 8. -High contention improves the performance of insert and update operations on low cardinality fields, but decreases find performance. +High contention improves the performance of insert and update operations +on low cardinality fields, but decreases find performance. Consider increasing ``contention`` above the default value of 8 only if: diff --git a/source/includes/queryable-encryption/quick-start/dek.rst b/source/includes/queryable-encryption/quick-start/dek.rst index 22821ad09d1..fd6ab12494d 100644 --- a/source/includes/queryable-encryption/quick-start/dek.rst +++ b/source/includes/queryable-encryption/quick-start/dek.rst @@ -80,10 +80,7 @@ .. note:: {+key-vault-long-title+} Namespace Permissions - The {+key-vault-long+} is in the ``encryption.__keyVault`` - namespace. Ensure that the database user your application uses to connect - to MongoDB has :ref:`ReadWrite ` - permissions on this namespace. + .. include:: /includes/note-key-vault-permissions .. tabs-drivers:: diff --git a/source/includes/queryable-encryption/tutorials/exp/dek.rst b/source/includes/queryable-encryption/tutorials/exp/dek.rst index ef8274e906d..a075b28eb08 100644 --- a/source/includes/queryable-encryption/tutorials/exp/dek.rst +++ b/source/includes/queryable-encryption/tutorials/exp/dek.rst @@ -71,10 +71,7 @@ .. note:: {+key-vault-long-title+} Namespace Permissions - The {+key-vault-long+} is in the ``encryption.__keyVault`` - namespace. Ensure that the database user your application uses to connect - to MongoDB has :ref:`ReadWrite ` - permissions on this namespace. + .. include:: /includes/note-key-vault-permissions .. tabs-drivers:: diff --git a/source/includes/quick-start/dek.rst b/source/includes/quick-start/dek.rst index bbb0c2ba2ef..06715fd3f6a 100644 --- a/source/includes/quick-start/dek.rst +++ b/source/includes/quick-start/dek.rst @@ -69,10 +69,7 @@ .. note:: {+key-vault-long-title+} Namespace Permissions - The {+key-vault-long+} is in the ``encryption.__keyVault`` - namespace. Ensure that the database user your application uses to connect - to MongoDB has :ref:`ReadWrite ` - permissions on this namespace. + .. include:: /includes/note-key-vault-permissions .. tabs-drivers:: diff --git a/source/includes/rapid-release-short.rst b/source/includes/rapid-release-short.rst index c8d47517e84..d87e480962c 100644 --- a/source/includes/rapid-release-short.rst +++ b/source/includes/rapid-release-short.rst @@ -1,6 +1,6 @@ .. important:: - MongoDB |version| is a rapid release and is only supported for - MongoDB Atlas. MongoDB |version| is not supported for use + MongoDB {+current-rapid-release+} is a rapid release and is only supported for + MongoDB Atlas. MongoDB {+current-rapid-release+} is not supported for use on-premises. For more information, see :ref:`release-version-numbers`. diff --git a/source/includes/rapid-release.rst b/source/includes/rapid-release.rst index f3f2e281570..337848face7 100644 --- a/source/includes/rapid-release.rst +++ b/source/includes/rapid-release.rst @@ -1,7 +1,7 @@ .. important:: - MongoDB |version| is a rapid release and is only supported for - MongoDB Atlas. MongoDB |version| is not supported for use + MongoDB {+current-rapid-release+} is a rapid release and is only supported for + MongoDB Atlas. MongoDB {+current-rapid-release+} is not supported for use on-premises. For more information, see :ref:`release-version-numbers`. diff --git a/source/includes/sharded-clusters-backup-restore-file-system-snapshot-restriction.rst b/source/includes/sharded-clusters-backup-restore-file-system-snapshot-restriction.rst index 480466ea3f1..83fb6d00634 100644 --- a/source/includes/sharded-clusters-backup-restore-file-system-snapshot-restriction.rst +++ b/source/includes/sharded-clusters-backup-restore-file-system-snapshot-restriction.rst @@ -1,7 +1,8 @@ -In MongoDB 4.2+, you cannot use :doc:`file system snapshots -` for backups that involve -transactions across shards because those backups do not maintain -atomicity. Instead, use one of the following to perform the backups: +To take a backup with a file system snapshot, you must first stop the balancer, +stop writes, and stop any schema transformation operations on the cluster. + +MongoDB provides backup and restore operations that can run with the balancer +and running transactions through the following services: - `MongoDB Atlas `_ diff --git a/source/includes/shardedDataDistribution-orphaned-docs.rst b/source/includes/shardedDataDistribution-orphaned-docs.rst new file mode 100644 index 00000000000..c96329cab5c --- /dev/null +++ b/source/includes/shardedDataDistribution-orphaned-docs.rst @@ -0,0 +1,17 @@ +Starting in MongoDB 6.0.3, you can run an aggregation using the +:pipeline:`$shardedDataDistribution` stage to confirm no orphaned +documents remain: + +.. code-block:: javascript + + db.aggregate([ + { $shardedDataDistribution: { } }, + { $match: { "ns": "." } } + ]) + +``$shardedDataDistribution`` has output similar to the following: + +.. include:: /includes/shardedDataDistribution-output-example.rst + +Ensure that ``"numOrphanedDocs"`` is ``0`` for each shard in the +cluster. diff --git a/source/includes/shardedDataDistribution-output-example.rst b/source/includes/shardedDataDistribution-output-example.rst new file mode 100644 index 00000000000..ba33bd2da41 --- /dev/null +++ b/source/includes/shardedDataDistribution-output-example.rst @@ -0,0 +1,24 @@ +.. code-block:: json + + [ + { + "ns": "test.names", + "shards": [ + { + "shardName": "shard-1", + "numOrphanedDocs": 0, + "numOwnedDocuments": 6, + "ownedSizeBytes": 366, + "orphanedSizeBytes": 0 + }, + { + "shardName": "shard-2", + "numOrphanedDocs": 0, + "numOwnedDocuments": 6, + "ownedSizeBytes": 366, + "orphanedSizeBytes": 0 + } + ] + } + ] + diff --git a/source/includes/steps-backup-sharded-cluster-with-snapshots.yaml b/source/includes/steps-backup-sharded-cluster-with-snapshots.yaml deleted file mode 100644 index 29e1464c298..00000000000 --- a/source/includes/steps-backup-sharded-cluster-with-snapshots.yaml +++ /dev/null @@ -1,202 +0,0 @@ -title: Disable the balancer. -stepnum: 1 -ref: disable-balancer -pre: | - - Connect :binary:`~bin.mongosh` to a cluster - :binary:`~bin.mongos` instance. Use the :method:`sh.stopBalancer()` - method to stop the balancer. If a balancing round is in progress, the - operation waits for balancing to complete before stopping the - balancer. - - .. code-block:: javascript - - use config - sh.stopBalancer() - -post: | - .. include:: /includes/extracts/4.2-changes-stop-balancer-autosplit.rst - - For more information, see the - :ref:`sharding-balancing-disable-temporarily` procedure. ---- -title: "If necessary, lock one secondary member of each replica set." -stepnum: 2 -ref: lock -pre: | - If your secondary does not have journaling enabled *or* its - journal and data files are on different volumes, you **must** lock - the secondary's :binary:`~bin.mongod` instance before capturing a backup. - - If your secondary has journaling enabled and its journal and data - files are on the same volume, you may skip this step. - - .. important:: - - If your deployment requires this step, you must perform it on one - secondary of each shard and one secondary of the - :ref:`config server replica set (CSRS) `. - - Ensure that the :term:`oplog` has sufficient capacity to allow these - secondaries to catch up to the state of the primaries after finishing - the backup procedure. See :ref:`replica-set-oplog-sizing` for more - information. - -action: - - heading: Lock shard replica set secondary. - pre: | - For each shard replica set in the sharded cluster, confirm that - the member has replicated data up to some control point. To - verify, first connect :binary:`~bin.mongosh` to the shard - primary and perform a write operation with - :writeconcern:`"majority"` write concern on a control - collection: - language: javascript - code: | - use config - db.BackupControl.findAndModify( - { - query: { _id: 'BackupControlDocument' }, - update: { $inc: { counter : 1 } }, - new: true, - upsert: true, - writeConcern: { w: 'majority', wtimeout: 15000 } - } - ); - - pre: | - The operation should return the modified (or inserted) control - document: - language: javascript - code: | - { "_id" : "BackupControlDocument", "counter" : 1 } - - pre: | - Query the shard secondary member for the returned control - document. Connect :binary:`~bin.mongosh` to the shard - secondary to lock and use :method:`db.collection.find()` to query - for the control document: - language: javascript - code: | - rs.secondaryOk(); - - use config; - - db.BackupControl.find( - { "_id" : "BackupControlDocument", "counter" : 1 } - ).readConcern('majority'); - - post: | - If the secondary member contains the latest control document, - it is safe to lock the member. Otherwise, wait until the member - contains the document or select a different secondary member - that contains the latest control document. - - pre: | - To lock the secondary member, run :method:`db.fsyncLock()` on - the member: - language: javascript - code: | - db.fsyncLock() - - - heading: Lock config server replica set secondary. - pre: | - If locking a secondary of the CSRS, confirm that the member has - replicated data up to some control point. To verify, first connect - :binary:`~bin.mongosh` to the CSRS primary and perform a write - operation with :writeconcern:`"majority"` write concern on a - control collection: - language: javascript - code: | - use config - db.BackupControl.findAndModify( - { - query: { _id: 'BackupControlDocument' }, - update: { $inc: { counter : 1 } }, - new: true, - upsert: true, - writeConcern: { w: 'majority', wtimeout: 15000 } - } - ); - - pre: | - The operation should return the modified (or inserted) control - document: - language: javascript - code: | - { "_id" : "BackupControlDocument", "counter" : 1 } - - pre: | - Query the CSRS secondary member for the returned control - document. Connect :binary:`~bin.mongosh` to the CSRS secondary - to lock and use :method:`db.collection.find()` to query for the - control document: - language: javascript - code: | - rs.secondaryOk(); - - use config; - - db.BackupControl.find( - { "_id" : "BackupControlDocument", "counter" : 1 } - ).readConcern('majority'); - - post: | - If the secondary member contains the latest control document, it - is safe to lock the member. Otherwise, wait until the member - contains the document or select a different secondary member - that contains the latest control document. - - pre: | - To lock the secondary member, run :method:`db.fsyncLock()` on - the member: - language: javascript - code: | - db.fsyncLock() ---- -title: Back up one of the config servers. -stepnum: 3 -ref: backup-config-server -content: | - - .. note:: - - Backing up a :ref:`config server ` backs - up the sharded cluster's metadata. You only need to back up one - config server, as they all hold the same data. Perform this step - against the locked CSRS secondary member. - - To create a file-system snapshot of the config server, follow the - procedure in :ref:`lvm-backup-operation`. ---- -title: Back up a replica set member for each shard. -stepnum: 4 -ref: backup-locked-shards -content: | - If you locked a member of the replica set shards, perform this step - against the locked secondary. - - You may back up the shards in parallel. For each shard, create a - snapshot, using the procedure in - :doc:`/tutorial/backup-with-filesystem-snapshots`. ---- -title: Unlock all locked replica set members. -stepnum: 5 -ref: unlock -pre: | - If you locked any :binary:`~bin.mongod` instances to capture the backup, - unlock them. - - To unlock the replica set members, use :method:`db.fsyncUnlock()` - method in :binary:`~bin.mongosh`. -action: - language: javascript - code: | - db.fsyncUnlock() ---- -title: Enable the balancer. -stepnum: 6 -ref: enable-balancer -pre: | - To re-enable to balancer, connect :binary:`~bin.mongosh` to a - :binary:`~bin.mongos` instance and run - :method:`sh.startBalancer()`. -action: - language: javascript - code: | - sh.startBalancer() -post: | - .. include:: /includes/extracts/4.2-changes-start-balancer-autosplit.rst -... diff --git a/source/includes/steps-install-mongodb-enterprise-on-red-hat.yaml b/source/includes/steps-install-mongodb-enterprise-on-red-hat.yaml index a8feac64b6e..2b01ca0a8dc 100644 --- a/source/includes/steps-install-mongodb-enterprise-on-red-hat.yaml +++ b/source/includes/steps-install-mongodb-enterprise-on-red-hat.yaml @@ -13,7 +13,7 @@ action: baseurl=https://repo.mongodb.com/yum/{{distro_name}}/{{distro_release}}/mongodb-enterprise/{+version+}/$basearch/ gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/server-{+pgp-version+}.asc + gpgkey=https://pgp.mongodb.com/server-{+pgp-version+}.asc post: | .. note:: diff --git a/source/includes/steps-install-mongodb-on-red-hat.yaml b/source/includes/steps-install-mongodb-on-red-hat.yaml index bdc9c78440f..a93c4f3cf90 100644 --- a/source/includes/steps-install-mongodb-on-red-hat.yaml +++ b/source/includes/steps-install-mongodb-on-red-hat.yaml @@ -13,7 +13,7 @@ action: baseurl=https://repo.mongodb.org/yum/{{distro_name}}/{{distro_release}}/mongodb-org/{+version+}/x86_64/ gpgcheck=1 enabled=1 - gpgkey=https://www.mongodb.org/static/pgp/server-{+pgp-version+}.asc + gpgkey=https://pgp.mongodb.com/server-{+pgp-version+}.asc post: | You can also download the ``.rpm`` files directly from the {{distro_link}}. Downloads are organized by {{distro_name_full}} diff --git a/source/includes/steps-install-mongodb-on-suse.yaml b/source/includes/steps-install-mongodb-on-suse.yaml index 8f3716685d1..5e1205dd74c 100644 --- a/source/includes/steps-install-mongodb-on-suse.yaml +++ b/source/includes/steps-install-mongodb-on-suse.yaml @@ -5,7 +5,7 @@ ref: import-key action: language: sh code: | - sudo rpm --import https://www.mongodb.org/static/pgp/server-{+pgp-version+}.asc + sudo rpm --import https://pgp.mongodb.com/server-{+pgp-version+}.asc --- title: Add the MongoDB repository. stepnum: 2 diff --git a/source/includes/steps-install-verify-files-pgp.yaml b/source/includes/steps-install-verify-files-pgp.yaml index 58166c520c0..f5ef96d9dcc 100644 --- a/source/includes/steps-install-verify-files-pgp.yaml +++ b/source/includes/steps-install-verify-files-pgp.yaml @@ -48,7 +48,7 @@ action: language: sh copyable: true code: | - curl -LO https://www.mongodb.org/static/pgp/server-{+release+}.asc + curl -LO https://pgp.mongodb.com/server-{+release+}.asc gpg --import server-{+release+}.asc - pre: | PGP should return this response: diff --git a/source/includes/steps-shard-existing-tsc.yaml b/source/includes/steps-shard-existing-tsc.yaml index 5dd32a0aa23..ea418d27cca 100644 --- a/source/includes/steps-shard-existing-tsc.yaml +++ b/source/includes/steps-shard-existing-tsc.yaml @@ -34,13 +34,13 @@ content: | ... --- -title: Shard the collection. -ref: new-sharded-tsc-create +title: Create a hashed index on your collection. +ref: new-sharded-tsc-index stepnum: 3 level: 4 content: | - Use the :method:`~sh.shardCollection()` method to shard the - collection. + Enable sharding on your collection by creating an index that supports + the :ref:`shard key `. Consider a time series collection with the following properties: @@ -67,11 +67,28 @@ content: | "speed": 50 } ) - To shard the collection, run the following command: + Run the following command to create a hashed index on the + ``metadata.location`` field: + + .. code-block:: javascript + + db.deliverySensor.createIndex( { "metadata.location" : "hashed" } ) + +--- +title: Shard your collection. +ref: new-sharded-tsc-create +stepnum: 4 +level: 4 +content: | + Use the :method:`~sh.shardCollection()` method to shard the + collection. + + To shard the ``deliverySensor`` collection described in the preceding step, run + the following command: .. code-block:: javascript - sh.shardCollection( "test.deliverySensor", { "metadata.location": 1 } ) + sh.shardCollection( "test.deliverySensor", { "metadata.location": "hashed" } ) In this example, :method:`sh.shardCollection()`: diff --git a/source/includes/upgrade-intro.rst b/source/includes/upgrade-intro.rst index 0593b2b195a..426cf60ac2b 100644 --- a/source/includes/upgrade-intro.rst +++ b/source/includes/upgrade-intro.rst @@ -1,4 +1,7 @@ -Use this tutorial to upgrade from a previous major release or upgrade -to the latest patch release of your current release series. Familiarize -yourself with the content of this document, including thoroughly reviewing the -prerequisites, prior to upgrading to MongoDB |newversion|. +Use this tutorial to upgrade from MongoDB |oldversion| to MongoDB +|newversion|. To upgrade to a new patch release within the same release +series, see :ref:`upgrade-to-latest-revision`. + +Familiarize yourself with the content of this document, including +thoroughly reviewing the prerequisites, prior to upgrading to MongoDB +|newversion|. diff --git a/source/includes/use-expr-in-find-query.rst b/source/includes/use-expr-in-find-query.rst new file mode 100644 index 00000000000..7202692b943 --- /dev/null +++ b/source/includes/use-expr-in-find-query.rst @@ -0,0 +1,27 @@ +Compare Two Fields from A Single Document +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Consider a ``monthlyBudget`` collection with the following documents: + +.. code-block:: javascript + + { "_id" : 1, "category" : "food", "budget": 400, "spent": 450 } + { "_id" : 2, "category" : "drinks", "budget": 100, "spent": 150 } + { "_id" : 3, "category" : "clothes", "budget": 100, "spent": 50 } + { "_id" : 4, "category" : "misc", "budget": 500, "spent": 300 } + { "_id" : 5, "category" : "travel", "budget": 200, "spent": 650 } + +The following operation uses :query:`$expr` to find documents +where the ``spent`` amount exceeds the ``budget``: + +.. code-block:: javascript + + db.monthlyBudget.find( { $expr: { $gt: [ "$spent" , "$budget" ] } } ) + +The operation returns the following results: + +.. code-block:: javascript + + { "_id" : 1, "category" : "food", "budget" : 400, "spent" : 450 } + { "_id" : 2, "category" : "drinks", "budget" : 100, "spent" : 150 } + { "_id" : 5, "category" : "travel", "budget" : 200, "spent" : 650 } diff --git a/source/index.txt b/source/index.txt index 25174372a81..8b96ae8d400 100644 --- a/source/index.txt +++ b/source/index.txt @@ -21,7 +21,7 @@ What is MongoDB? .. button:: Get started with MongoDB Atlas :uri: https://www.mongodb.com/cloud?tck=docs_server - .. include:: /includes/rc-available.rst + .. include:: /includes/in-dev.rst .. image:: /images/hero.png :alt: Homepage hero image diff --git a/source/indexes.txt b/source/indexes.txt index fe7bc627ab7..88e15beff97 100644 --- a/source/indexes.txt +++ b/source/indexes.txt @@ -52,10 +52,15 @@ example, consider the following scenarios: * - A salesperson often needs to look up client information by location. Location is stored in an embedded object with fields like ``state``, ``city``, and ``zipcode``. You can create an - index on the entire ``location`` object to improve performance - for queries on any field in that object. + index on the ``location`` object to improve performance for + queries on that object. - - :ref:`Single Field Index ` on an object + .. note:: + + .. include:: /includes/indexes/embedded-object-need-entire-doc.rst + + - :ref:`Single Field Index ` on an embedded + document * - A grocery store manager often needs to look up inventory items by name and quantity to determine which items are low stock. You can diff --git a/source/introduction.txt b/source/introduction.txt index aeba501a41f..52f45f7ba40 100644 --- a/source/introduction.txt +++ b/source/introduction.txt @@ -19,7 +19,7 @@ Introduction to MongoDB :depth: 1 :class: singlecol -.. include:: /includes/rapid-release-short.rst +.. include:: /includes/in-dev.rst You can create a MongoDB database in the following environments: diff --git a/source/reference/collation.txt b/source/reference/collation.txt index c4705a1030d..347df8857b6 100644 --- a/source/reference/collation.txt +++ b/source/reference/collation.txt @@ -61,13 +61,15 @@ parameters and the locales they are associated with, see To specify simple binary comparison, specify ``locale`` value of ``"simple"``. - + * - ``strength`` - integer - - Optional. The level of comparison to perform. + - .. _collation-parameter-strength: + + Optional. The level of comparison to perform. Corresponds to `ICU Comparison Levels `_. Possible values are: diff --git a/source/reference/command.txt b/source/reference/command.txt index 0fd34b19355..fe7fb8890c4 100644 --- a/source/reference/command.txt +++ b/source/reference/command.txt @@ -130,15 +130,6 @@ Query and Write Operation Commands - {+atlas+} Support - * - :dbcommand:`bulkWrite` - - - Performs many insert, update, and delete operations on multiple - collections in one request. - - .. versionadded:: 7.2 - - - No - * - :dbcommand:`delete` - Deletes one or more documents. @@ -685,12 +676,6 @@ Sharding Commands - No support for :atlas:`serverless instances `. - * - :dbcommand:`medianKey` - - - Deprecated internal command. See :dbcommand:`splitVector`. - - - Yes - * - :dbcommand:`moveChunk` - Internal command that migrates chunks between shards. diff --git a/source/reference/command/analyzeShardKey.txt b/source/reference/command/analyzeShardKey.txt index 3dedfaec75e..cc2d666a715 100644 --- a/source/reference/command/analyzeShardKey.txt +++ b/source/reference/command/analyzeShardKey.txt @@ -112,7 +112,7 @@ Limitations Access Control -------------- -|analyzeShardKey| requires one of the following roles: +|analyzeShardKey| requires one of these roles: - :authaction:`enableSharding` privilege action against the collection being analyzed. @@ -156,6 +156,14 @@ Examples .. include:: /includes/analyzeShardKey-example-intro.rst +.. note:: + + Before you run ``analyzeShardKey`` commands, read the + :ref:`supporting-indexes-ref` section earlier on this page. If you + require supporting indexes for the shard key you are analyzing, use + the :method:`db.collection.createIndex()` method to create the + indexes. + { lastName: 1 } keyCharacteristics ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/reference/command/appendOplogNote.txt b/source/reference/command/appendOplogNote.txt index c1a6cd1e783..4b1f2c13263 100644 --- a/source/reference/command/appendOplogNote.txt +++ b/source/reference/command/appendOplogNote.txt @@ -17,17 +17,20 @@ Definition Writes a non-operational entry to the :term:`oplog`. - Syntax ------ -You can only issue the ``appendOplogNote`` command against the ``admin`` database. +You can only run the ``appendOplogNote`` command on the ``admin`` +database. + +The command has this syntax: .. code-block:: javascript + :copyable: false db.adminCommand( { - appendOplogNote: 1 + appendOplogNote: 1, data: } ) @@ -42,9 +45,11 @@ Command Fields * - Field - Type - Description + * - ``appendOplogNote`` - any - Set to any value. + * - ``data`` - document - The document to append to the :term:`oplog`. @@ -59,9 +64,9 @@ To append a non-operational entry to the :term:`oplog`, use the db.adminCommand( { - appendOplogNote: 1 + appendOplogNote: 1, data: { - msg: "Appending test msg to oplog" + msg: "Appending test message to oplog" } } ) @@ -75,11 +80,10 @@ Example ``oplog`` entry: op: "n", ns: "", o: { - msg: "Appending test msg to oplog" + msg: "Appending test message to oplog" }, ts: Timestamp({ t: 1689177321, i: 1 }), t: Long("1"), v: Long("2"), wall: ISODate("2023-07-12T15:55:21.180Z") } - diff --git a/source/reference/command/applyOps.txt b/source/reference/command/applyOps.txt index ca2d5da6c2b..d0f9ba5db81 100644 --- a/source/reference/command/applyOps.txt +++ b/source/reference/command/applyOps.txt @@ -19,6 +19,17 @@ Definition instance. The :dbcommand:`applyOps` command is an internal command. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/command/buildInfo.txt b/source/reference/command/buildInfo.txt index 885b8ae5e52..a79db10a857 100644 --- a/source/reference/command/buildInfo.txt +++ b/source/reference/command/buildInfo.txt @@ -19,6 +19,17 @@ Definition returns a build summary for the current :binary:`~bin.mongod`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/bulkWrite.txt b/source/reference/command/bulkWrite.txt deleted file mode 100644 index 243508458e6..00000000000 --- a/source/reference/command/bulkWrite.txt +++ /dev/null @@ -1,686 +0,0 @@ -========= -bulkWrite -========= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Definition ----------- - -.. dbcommand:: bulkWrite - -.. versionadded:: 7.2 - -.. include:: /includes/bulkWrite-introduction.rst - -To specify each collection in the ``bulkWrite`` command, use a -:term:`namespace` (database and collection name). - -Syntax ------- - -The command has this syntax: - -.. code-block:: javascript - - db.adminCommand( { - bulkWrite: 1, - - // Include the insert, update, and delete operations - // in the ops array - ops: [ - { - insert: , // Namespace ID index for insert operation. - // Must match a namespace ID index in - // ns specified later in the nsInfo array. - document: - }, - { - update: , // Namespace ID index for update operation - filter: , - updateMods: , - arrayFilters: [ , , ... ], - multi: , - hint: , - constants: , - collation: - }, - { - delete: , // Namespace ID index for delete operation - filter: , - multi: , - hint: , - collation: - }, - ... - // Additional insert, update, and delete operations in any order - ... - ], - - // Include the namespaces with collections to modify - // in the nsInfo array. You can add multiple namespaces here. - nsInfo: [ - { - ns: , // Namespace (database and collection name) to modify. - // Each operation namespace ID index - // specified in the earlier ops array must - // match a namespace ID index here. - collectionUUID: , - encryptionInformation: - }, - ... - // Additional namespaces - ... - ], - - // Additional fields - ordered: , - bypassDocumentValidation: , - comment: , - let: , - cursor: { batchSize: }, - writeConcern: - } ) - -In the command syntax, you can specify multiple: - -- Insert, update, and delete operations in any order in the ``ops`` - array. -- Namespaces for the operations in the ``nsInfo`` array. To match the - operation to the namespace, use the same namespace ID index. Indexes - start at ``0``. You can use :term:`sharded ` collections. - -Command Fields --------------- - -The command takes the following fields: - -.. list-table:: - :header-rows: 1 - :widths: 10 15 10 65 - - * - Field - - Type - - Necessity - - Description - - * - ``insert`` - - integer - - Required - - Namespace ID index for an insert operation, which must match a - namespace ID index in the ``ns`` field in the ``nsInfo`` array. - Indexes start at ``0``. - - * - ``document`` - - document - - Required - - Document to insert into the collection. - - * - ``update`` - - integer - - Required - - Namespace ID index for an update operation, which must match a - namespace ID index in the ``ns`` field in the ``nsInfo`` array. - Indexes start at ``0``. - - * - ``filter`` - - document - - Optional - - :ref:`Query selector ` to limit the documents for - the update or delete operation. - - * - ``updateMods`` - - document - - Optional - - Update operation to perform on the collection. You can specify one - of these: - - - A document with :ref:`update operator ` - expressions. - - - An :ref:`aggregation pipeline ` in the - form ``[ , , ... ]`` with stages for the - updates. - - * - ``arrayFilters`` - - document array - - Optional - - Array of filter documents that specify the documents to - modify for an update operation on an array field. - - For details, see :ref:`findAndModify-command-arrayFilters`. - - * - ``multi`` - - boolean - - Optional - - .. include:: /includes/bulkWrite-multi-field.rst - - Default is ``false``. - - * - ``hint`` - - document - - Optional - - :ref:`Index ` to use for the document ``filter``. If the - index doesn't exist, the update operation returns an error. - - * - ``constants`` - - document - - Optional - - Constants for an :ref:`aggregation pipeline - ` custom update. - - * - ``collation`` - - document - - Optional - - :ref:`Collation ` for an update or delete operation. - - * - ``delete`` - - integer - - Required - - Namespace ID index for a delete operation, which must match a - namespace ID index in the ``ns`` field in the ``nsInfo`` array. - Indexes start at ``0``. - - * - ``ns`` - - string - - Required - - Namespace (database and collection) for the operations. Set the - namespace ID index for each operation in ``ops`` to the matching - namespace array index in ``ns``. Indexes start at ``0``. - - * - ``collectionUUID`` - - string - - Optional - - :abbr:`UUID (Universally unique identifier)` hexadecimal value - that specifies the collection for the operations. - - * - ``encryptionInformation`` - - document - - Optional - - Encryption information schema and tokens for the operation. For - details, see :ref:`csfle-fundamentals-create-schema`. - - * - ``ordered`` - - boolean - - Optional - - If ``true``, perform ordered operations. Otherwise, perform - unordered operations. - - Ordered operations run in series. If an error occurs, any - remaining operations are cancelled. - - Unordered operations run in parallel. If an error occurs, any - remaining statements are run. The operations may be reordered by - the server to increase performance. Therefore, your applications - should not depend on the order of operation execution. - - Default is ``true``. - - * - ``bypassDocumentValidation`` - - boolean - - Optional - - If ``true``, the operation bypasses the :doc:`document validation - rules `. If ``false``, the documents must - be valid. - - Default is ``false``. - - * - ``comment`` - - string - - Optional - - .. include:: /includes/extracts/comment-content.rst - - * - ``let`` - - document - - Optional - - Document with a list of constants to reference in the operation. - For ``let`` examples, see :ref:`update-variables-example` and - :ref:`delete-let-example`. - - * - ``cursor batchSize`` - - integer - - Optional - - :term:`Cursor ` batch size for the ``bulkWrite`` command's - returned results. For details, see :method:`cursor.batchSize()`. - - * - ``writeConcern`` - - string - - Optional - - :ref:`Write concern ` for the operation. Omit to - use the server default. - -.. _bulkWrite-output: - -Output ------- - -The command returns a document with these fields: - -.. list-table:: - :header-rows: 1 - :widths: 25 25 50 - - * - Field - - Type - - Description - - * - ``cursor`` - - document - - Cursor with the command results. - - * - ``cursor.id`` - - integer - - Cursor identifier. - - * - ``cursor.firstBatch`` - - document array - - Results of the operations. - - * - ``cursor.firstBatch.ok`` - - integer - - ``1`` indicates the operation was successful. Otherwise, ``0``. - - * - ``cursor.firstBatch.idx`` - - integer - - Operation index number, which corresponds to the operation in the - ``ops`` array. The first operation has an ``idx`` value of ``0``. - - * - ``cursor.firstBatch.code`` - - integer - - Code number for an error. - - * - ``cursor.firstBatch.errmsg`` - - string - - Description for an error. - - * - ``cursor.firstBatch.keyPattern`` - - string - - Document index key specification for an error. - - * - ``cursor.firstBatch.keyValue`` - - string - - Document index key value for an error. - - * - ``cursor.firstBatch.n`` - - integer - - Total number of documents affected by an operation. - - * - ``cursor.firstBatch.nModified`` - - integer - - Number of documents modified by an update operation. - - * - ``numErrors`` - - integer - - Number of errors for the ``bulkWrite`` command. - - * - ``ok`` - - integer - - ``1`` indicates the ``bulkWrite`` command was successful. - Otherwise, ``0``. - -.. note:: - - The output fields may vary depending on the operations you run in the - ``bulkWrite`` command. - -Behavior --------- - -This section describes the ``bulkWrite`` command behavior. - -Multiple Document Field and Retryable Writes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: /includes/bulkWrite-multi-field.rst - -To enable retryable writes, see :ref:`retryable writes -`. - -You can use ``bulkWrite`` insert operations with retryable writes and -the ``multi`` field set to ``true``. - -You can use ``bulkWrite`` update and delete operations with the -``multi`` field set to ``true``. But, you cannot use update or delete -operations with both ``multi`` set to ``true`` and retryable writes. - -Operation Performance -~~~~~~~~~~~~~~~~~~~~~ - -If you run multiple operations in one ``bulkWrite`` command, you will -obtain similar performance if you run the same operations individually -in separate insert, update, and delete commands. - -Examples --------- - -This section contains ``bulkWrite`` command examples. - -Single Namespace Bulk Write Example -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following ``bulkWrite`` example modifies a single namespace: - -.. procedure:: - :style: normal - - .. step:: Create the pizzas example collection - - Run: - - .. include:: /includes/pizza-example-collection.rst - - .. step:: Modify the pizzas example collection - - Run the following ``bulkWrite`` command to perform insert, update, - and delete operations on the ``pizzas`` collection: - - .. code-block:: javascript - - db.adminCommand( { - bulkWrite: 1, - - // The ops array contains the insert, update, and delete - // operations. - ops: [ - - // Specify the namespace ID index immediately after - // the insert, update, and delete text. - // For example, "insert: 0" specifies the 0 namespace ID index, - // which is the "test.pizzas" namespace in nsInfo at the end - // of the example. - - // Insert a pizza. - { insert: 0, document: { _id: 4, type: "sausage", - size: "small", price: 12 } }, - - // Update the price for medium pizzas. - { update: 0, filter: { size: "medium" }, - updateMods: { $set: { price: 15 } } }, - - // Delete the pizza with an _id of 2. - { delete: 0, filter: { _id: 2 } } - ], - - // The nsInfo array contains the namespace to apply the - // previous operations to. - nsInfo: [ - { ns: "test.pizzas" } // Namespace ID index is 0. - ] - } ) - - The ``pizzas`` collection is in the default ``test`` database, so - the ``ns`` namespace is ``"test.pizzas"``. The namespace ID index - is ``0``, which is set in the first field of the insert, update, - and delete operations in the ``ops`` array. - - .. step:: Examine the output - - The following ``bulkWrite`` example output, with various ``ok: 1`` - fields and ``numErrors: 0``, indicates all operations were - successful: - - .. code-block:: javascript - :copyable: false - - { - cursor: { - id: Long("0"), - firstBatch: [ - { ok: 1, idx: 0, n: 1 }, - { ok: 1, idx: 1, n: 1, nModified: 1 }, - { ok: 1, idx: 2, n: 1 } - ] - }, - numErrors: 0, - ok: 1 - } - - For details about the output fields, see the earlier - :ref:`bulkWrite-output` section. - -Multiple Namespaces Bulk Write Example -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can specify multiple namespaces in a ``bulkWrite`` command. - -The following ``bulkWrite`` example contains insert, update, and delete -operations for two namespaces: - -.. procedure:: - :style: normal - - .. step:: Create the pizzas example collection - - If you already have the ``pizzas`` collection in your ``test`` - database, use the :method:`db.collection.drop` method to drop it - first and then run: - - .. include:: /includes/pizza-example-collection.rst - - .. step:: Create the pizza orders example collection - - Run: - - .. code-block:: javascript - - db.pizzaOrders.insertMany( [ - { _id: 0, type: "pepperoni", number: 5, - orderDate: new Date( "2023-01-15T12:00:00Z" ) }, - { _id: 1, type: "cheese", number: 15, - orderDate: new Date( "2023-01-23T11:12:32Z" ) }, - { _id: 2, type: "vegan", number: 20, - orderDate: new Date( "2023-03-20T10:01:12Z" ) } - ] ) - - .. step:: Modify the example collections - - Run the following ``bulkWrite`` command to perform insert, update, - and delete operations on the example collections: - - .. code-block:: javascript - - db.adminCommand( { - bulkWrite: 1, - - // The ops array contains the insert, update, and delete - // operations. - ops: [ - - // Specify the namespace ID indexes immediately after - // the insert, update, and delete. For example, "insert: 0" - // specifies the 0 namespace ID index, which is the "test.pizzas" - // namespace. And, "insert: 1" specifies "test.pizzaOrders". - - // Insert pizzas. - // Namespace ID is 0 for "test.pizzas", which - // is specified as "insert: 0". - { insert: 0, document: { _id: 5, type: "sausage", - size: "small", price: 12 } }, - { insert: 0, document: { _id: 6, type: "vegan cheese", - size: "large", price: 25 } }, - - // Update the price for cheese pizzas. - { update: 0, filter: { type: "cheese" }, - updateMods: { $set: { price: 15 } } }, - - // Delete pizzas with a price less than 7. - { delete: 0, filter: { price: { $lt: 7 } } }, - - // Insert pizza orders. - // Namespace ID is 1 for "test.pizzaOrders". - { insert: 1, document: { _id: 3, type: "sausage", number: 7, - orderDate: new Date( "2023-04-15T12:02:15Z" ) } }, - { insert: 1, document: { _id: 4, type: "vegan", number: 16, - orderDate: new Date( "2023-05-12T11:03:11Z" ) } }, - - // Update the number of pizza orders for cheese pizzas. - { update: 1, filter: { type: "cheese" }, - updateMods: { $set: { number: 50 } } }, - - // Delete the pizza order with an _id of 2. - { delete: 1, filter: { _id: 2 } }, - - // Delete pizza orders placed before March 15, 2023. - { delete: 1, filter: { orderDate: - { $lte: ISODate( "2023-03-15T00:00:00Z" ) } } } - ], - - // Namespaces - nsInfo: [ - { ns: "test.pizzas" }, // Namespace ID index is 0. - { ns: "test.pizzaOrders" } // Namespace ID index is 1. - ] - } ) - - .. step:: Examine the output - - The following ``bulkWrite`` example output indicates the - operations were successful: - - .. code-block:: javascript - :copyable: false - - { - cursor: { - id: Long("0"), - firstBatch: [ - { ok: 1, idx: 0, n: 1 }, - { ok: 1, idx: 1, n: 1 }, - { ok: 1, idx: 2, n: 1, nModified: 1 }, - { ok: 1, idx: 3, n: 1 }, - { ok: 1, idx: 4, n: 1 }, - { ok: 1, idx: 5, n: 1 }, - { ok: 1, idx: 6, n: 1, nModified: 1 }, - { ok: 1, idx: 7, n: 1 }, - { ok: 1, idx: 8, n: 1 } - ] - }, - numErrors: 0, - ok: 1 - } - -Operations with Errors Bulk Write Example -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following ``bulkWrite`` example contains operations with errors and -operations that don't change any documents: - -.. procedure:: - :style: normal - - .. step:: Create the pizzas example collection - - If you already have the ``pizzas`` collection in your ``test`` - database, use the :method:`db.collection.drop` method to drop it - first and then run: - - .. include:: /includes/pizza-example-collection.rst - - .. step:: Attempt to modify the pizzas example collection - - Run the following ``bulkWrite`` command to perform insert, update, - and delete operations on the ``pizzas`` collection: - - .. code-block:: javascript - - db.adminCommand( { - bulkWrite: 1, - - // The ops array contains the insert, update, and delete - // operations. - ops: [ - - // The namespace ID indexes are specified immediately after - // the insert, update, and delete text. - // For example, "insert: 0" specifies the 0 namespace ID index, - // which is the "test.pizzas" namespace in nsInfo. - - // Attempt to add a duplicate document with an - // _id of 1, which already exists and causes an error. - { insert: 0, document: { _id: 1, type: "tomato", - size: "small", price: 12 } }, - - // Attempt to add another duplicate document. - { insert: 0, document: { _id: 2, type: "pepper", - size: "small", price: 12 } }, - - // Attempt to change the price for extra large pizzas, - // which don't exist. This doesn't cause an error but - // doesn't update any documents. - { update: 0, filter: { size: "extra large" }, - updateMods: { $set: { price: 15 } } }, - - // Attempt to remove a document that doesn't exist. - // This doesn't cause an error but doesn't delete any documents. - { delete: 0, filter: { _id: 8 } } - ], - - // The nsInfo array contains the namespace to apply the - // previous operations to. - nsInfo: [ - { ns: "test.pizzas" } // Namespace ID index is 0. - ], - - // Set the ordered field to false to run the remaining operations - // after an operation returns an error. - ordered: false - } ) - - .. step:: Examine the output - - The following ``bulkWrite`` example output shows the errors: - - .. code-block:: javascript - :copyable: false - - { - cursor: { - id: Long("0"), - firstBatch: [ - { - ok: 0, - idx: 0, - code: 11000, - errmsg: 'E11000 duplicate key error collection: - test.pizzas index: _id_ dup key: { _id: 1 }', - keyPattern: { _id: 1 }, - keyValue: { _id: 1 }, - n: 0 - }, - { - ok: 0, - idx: 1, - code: 11000, - errmsg: 'E11000 duplicate key error collection: - test.pizzas index: _id_ dup key: { _id: 2 }', - keyPattern: { _id: 1 }, - keyValue: { _id: 2 }, - n: 0 - }, - { ok: 1, idx: 2, n: 0, nModified: 0 }, - { ok: 1, idx: 3, n: 0 } - ] - }, - numErrors: 2, - ok: 1 - } - - For details about the output fields, including the error codes and - messages, see the earlier :ref:`bulkWrite-output` section. - -Learn More ----------- - -- :ref:`server-sessions` -- :ref:`query-selectors` -- :ref:`aggregation-pipeline` -- :ref:`indexes` -- :ref:`collation` -- :ref:`retryable-writes` -- :ref:`transactions` diff --git a/source/reference/command/cleanupOrphaned.txt b/source/reference/command/cleanupOrphaned.txt index 62a8d0683ff..566afd4413e 100644 --- a/source/reference/command/cleanupOrphaned.txt +++ b/source/reference/command/cleanupOrphaned.txt @@ -10,6 +10,13 @@ cleanupOrphaned :depth: 1 :class: singlecol +.. important:: + + Starting in MongoDB 6.0.3, you should run an aggregation using the + :pipeline:`$shardedDataDistribution` stage to confirm no orphaned + documents remain. For details, + see :ref:`shardedDataDistribution-no-orphaned-docs`. + Definition ---------- diff --git a/source/reference/command/cloneCollectionAsCapped.txt b/source/reference/command/cloneCollectionAsCapped.txt index c533786e9bf..b2ad66f4dfc 100644 --- a/source/reference/command/cloneCollectionAsCapped.txt +++ b/source/reference/command/cloneCollectionAsCapped.txt @@ -20,6 +20,16 @@ Definition within the same database. The operation does not affect the original non-capped collection. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/command/collMod.txt b/source/reference/command/collMod.txt index 500b00000e9..5461ce4e8f5 100644 --- a/source/reference/command/collMod.txt +++ b/source/reference/command/collMod.txt @@ -32,6 +32,17 @@ Definition views. For discussion of on-demand materialized views, see :pipeline:`$merge` instead. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/collStats.txt b/source/reference/command/collStats.txt index 4644bd6fc32..8510bc7fc57 100644 --- a/source/reference/command/collStats.txt +++ b/source/reference/command/collStats.txt @@ -41,6 +41,17 @@ Definition .. include:: /includes/fact-dbcommand.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/compact.txt b/source/reference/command/compact.txt index 498e114794f..e4f3c3add13 100644 --- a/source/reference/command/compact.txt +++ b/source/reference/command/compact.txt @@ -21,6 +21,17 @@ Definition :ref:`WiredTiger ` databases, this command releases unneeded disk space to the operating system. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/compactStructuredEncryptionData.txt b/source/reference/command/compactStructuredEncryptionData.txt index 6a14f91687d..f75c00f3803 100644 --- a/source/reference/command/compactStructuredEncryptionData.txt +++ b/source/reference/command/compactStructuredEncryptionData.txt @@ -20,6 +20,17 @@ Definition Compacts documents specified in the metadata collections and deletes redundant documents. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/connPoolStats.txt b/source/reference/command/connPoolStats.txt index 518400e8d96..b14f8a133fd 100644 --- a/source/reference/command/connPoolStats.txt +++ b/source/reference/command/connPoolStats.txt @@ -26,6 +26,17 @@ Definition .. include:: /includes/note-conn-pool-stats.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/connectionStatus.txt b/source/reference/command/connectionStatus.txt index 5e8c610c342..102ac8e0405 100644 --- a/source/reference/command/connectionStatus.txt +++ b/source/reference/command/connectionStatus.txt @@ -18,6 +18,17 @@ Definition Returns information about the current connection, specifically the state of authenticated users and their available permissions. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/convertToCapped.txt b/source/reference/command/convertToCapped.txt index 932319d0b3b..78e8fb8a83e 100644 --- a/source/reference/command/convertToCapped.txt +++ b/source/reference/command/convertToCapped.txt @@ -25,6 +25,17 @@ Definition non-capped collection to a :term:`capped collection` within the same database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/create.txt b/source/reference/command/create.txt index 569036f092f..1fa3286b2e3 100644 --- a/source/reference/command/create.txt +++ b/source/reference/command/create.txt @@ -23,6 +23,17 @@ Definition views. For discussion of on-demand materialized views, see :pipeline:`$merge` instead. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ @@ -347,11 +358,11 @@ The ``create`` command has the following fields: * - ``encryptedFields`` - document - Optional. A document that configures :ref:`queryable encryption - ` for the collection being created. + ` for the collection being created. .. include:: /includes/fact-encryptedFieldsConfig-intro.rst - For details, see :ref:``. + For details, see :ref:``. * - ``comment`` - any diff --git a/source/reference/command/createIndexes.txt b/source/reference/command/createIndexes.txt index 0cc3a4b2412..986980bf7fd 100644 --- a/source/reference/command/createIndexes.txt +++ b/source/reference/command/createIndexes.txt @@ -21,6 +21,16 @@ Definition :method:`db.collection.createIndexes()` helper methods. .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ @@ -300,13 +310,14 @@ Each document in the ``indexes`` array can take the following fields: :ref:`control-text-search-results` to adjust the scores. The default value is ``1``. - - + * - ``default_language`` - string - - Optional. For :ref:`text ` indexes, the language that + - .. _createIndexes-default-language: + + Optional. For :ref:`text ` indexes, the language that determines the list of stop words and the rules for the stemmer and tokenizer. See :ref:`text-search-languages` for the available languages and diff --git a/source/reference/command/createSearchIndexes.txt b/source/reference/command/createSearchIndexes.txt index 112152c5d74..9205095c839 100644 --- a/source/reference/command/createSearchIndexes.txt +++ b/source/reference/command/createSearchIndexes.txt @@ -4,6 +4,9 @@ createSearchIndexes .. default-domain:: mongodb +.. meta:: + :keywords: atlas search + .. contents:: On this page :local: :backlinks: none @@ -17,7 +20,7 @@ Definition .. versionadded:: 7.0 (*Also available starting in 6.0.7*) -.. |fts-indexes| replace:: :atlas:`{+fts+} indexes ` +.. |fts-indexes| replace:: :atlas:`{+fts+} indexes ` or :atlas:`Vector Search indexes ` .. include:: /includes/atlas-search-commands/command-descriptions/createSearchIndexes-description.rst @@ -39,6 +42,7 @@ Command syntax: indexes: [ { name: "", + type: "", definition: { /* search index definition fields */ } @@ -82,11 +86,20 @@ The ``createSearchIndexes`` command takes the following fields: If you do not specify a ``name``, the index is named ``default``. + * - ``indexes.type`` + - string + - Optional + - .. include:: /includes/atlas-search-commands/field-definitions/type.rst + * - ``indexes.definition`` - document - Required - - Document describing the index to create. For details on - ``definition`` syntax, see :ref:`search-index-definition-create`. + - Document describing the index to create. The ``definition`` syntax + depends on whether you create a standard search index or a Vector + Search index. For the ``definition`` syntax, see: + + - :ref:`search-index-definition-create` + - :ref:`vector-search-index-definition-create` .. _search-index-definition-create: @@ -95,6 +108,13 @@ Search Index Definition Syntax .. include:: /includes/atlas-search-commands/search-index-definition-fields.rst +.. _vector-search-index-definition-create: + +Vector Search Index Definition Syntax +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/atlas-search-commands/vector-search-index-definition-fields.rst + Behavior -------- @@ -241,3 +261,43 @@ or digits. ``searchIndex03`` uses a dynamic field mapping, meaning the index contains all fields in the collection that have :ref:`supported data types `. + +Create a Vector Search Index +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following example creates a vector search index named +``vectorSearchIndex01`` on the ``movies`` collection: + +.. code-block:: javascript + + db.runCommand( { + createSearchIndexes: "movies", + indexes: [ + { + name: "vectorSearchIndex01", + type: "vectorSearch", + definition: { + fields: [ + { + type: "vector", + numDimensions: 1, + path: "genre", + similarity: "cosine" + } + ] + } + } + ] + } ) + +The vector search index contains one dimension and indexes the +``genre`` field. + +Learn More +---------- + +- :pipeline:`$vectorSearch` aggregation stage + +- :ref:`Tutorial: Semantic Search ` + +- :atlas:`Atlas Vector Search Changelog ` diff --git a/source/reference/command/currentOp.txt b/source/reference/command/currentOp.txt index 2268fa4799e..c225379b0d2 100644 --- a/source/reference/command/currentOp.txt +++ b/source/reference/command/currentOp.txt @@ -26,6 +26,18 @@ Definition .. include:: /includes/fact-currentOp-aggregation-stage.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/dataSize.txt b/source/reference/command/dataSize.txt index 5ab2ef025de..6df27db6a52 100644 --- a/source/reference/command/dataSize.txt +++ b/source/reference/command/dataSize.txt @@ -18,6 +18,18 @@ Definition The :dbcommand:`dataSize` command returns the size in bytes for the specified data. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/dbHash.txt b/source/reference/command/dbHash.txt index 44258fc017e..bba5e136e98 100644 --- a/source/reference/command/dbHash.txt +++ b/source/reference/command/dbHash.txt @@ -25,6 +25,17 @@ Definition The :dbcommand:`dbHash` command obtains a shared (S) lock on the database, which prevents writes until the command completes. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/dbStats.txt b/source/reference/command/dbStats.txt index cef6159a63e..67f0b13bc00 100644 --- a/source/reference/command/dbStats.txt +++ b/source/reference/command/dbStats.txt @@ -18,6 +18,18 @@ Definition The :dbcommand:`dbStats` command returns storage statistics for a given database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/driverOIDTest.txt b/source/reference/command/driverOIDTest.txt index a1a2be5ff23..aef86d436fe 100644 --- a/source/reference/command/driverOIDTest.txt +++ b/source/reference/command/driverOIDTest.txt @@ -15,3 +15,14 @@ driverOIDTest :dbcommand:`driverOIDTest` is an internal command. .. slave-ok + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/command/drop.txt b/source/reference/command/drop.txt index 2ec91d02650..decb7073840 100644 --- a/source/reference/command/drop.txt +++ b/source/reference/command/drop.txt @@ -21,6 +21,18 @@ Definition .. |method| replace:: :method:`~db.collection.drop` helper method .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/dropConnections.txt b/source/reference/command/dropConnections.txt index 7cb8f5cdd3e..1f6c80552ff 100644 --- a/source/reference/command/dropConnections.txt +++ b/source/reference/command/dropConnections.txt @@ -22,6 +22,17 @@ Definition connections to the specified hosts. The :dbcommand:`dropConnections` must be run against the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/dropDatabase.txt b/source/reference/command/dropDatabase.txt index f5472c7ce3c..c2fcb3aff5e 100644 --- a/source/reference/command/dropDatabase.txt +++ b/source/reference/command/dropDatabase.txt @@ -18,6 +18,18 @@ Definition The :dbcommand:`dropDatabase` command drops the current database, deleting the associated data files. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/dropIndexes.txt b/source/reference/command/dropIndexes.txt index ca5bd62a59f..89b0e1b35e4 100644 --- a/source/reference/command/dropIndexes.txt +++ b/source/reference/command/dropIndexes.txt @@ -25,6 +25,17 @@ Definition :method:`db.collection.dropIndexes()` helper methods. .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/explain.txt b/source/reference/command/explain.txt index 1925067308e..c0605bc5b21 100644 --- a/source/reference/command/explain.txt +++ b/source/reference/command/explain.txt @@ -26,6 +26,17 @@ Definition .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ @@ -137,6 +148,20 @@ For write operations, the :dbcommand:`explain` command returns information about the write operation that would be performed but does not actually modify the database. +Stable API +~~~~~~~~~~ + +The :ref:`Stable API ` V1 supports the following +verbosity modes for the ``explain`` command: + +- :ref:`allPlansExecution ` +- :ref:`executionStats ` +- :ref:`queryPlanner` + +.. warning:: + + .. include:: /includes/fact-stable-api-explain.rst + Restrictions ~~~~~~~~~~~~ @@ -174,8 +199,8 @@ verbosity mode to return the query planning information for a .. _ex-executionStats: -``executionStats`` Mode -~~~~~~~~~~~~~~~~~~~~~~~~ +``executionStats`` Mode +~~~~~~~~~~~~~~~~~~~~~~~ The following :dbcommand:`explain` operation runs in ``"executionStats"`` verbosity mode to return the query planning and execution information diff --git a/source/reference/command/features.txt b/source/reference/command/features.txt index a566c6deaf8..0eb2160ef47 100644 --- a/source/reference/command/features.txt +++ b/source/reference/command/features.txt @@ -16,3 +16,14 @@ features feature settings. .. slave-ok + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/command/filemd5.txt b/source/reference/command/filemd5.txt index e9f7c80f86e..c6b944ef07c 100644 --- a/source/reference/command/filemd5.txt +++ b/source/reference/command/filemd5.txt @@ -21,6 +21,17 @@ Definition The command takes the ``files_id`` of the file in question and the name of the GridFS root collection as arguments. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/findAndModify.txt b/source/reference/command/findAndModify.txt index bb70a624760..93f59034104 100644 --- a/source/reference/command/findAndModify.txt +++ b/source/reference/command/findAndModify.txt @@ -21,7 +21,7 @@ Definition .. dbcommand:: findAndModify - The :dbcommand:`findAndModify` command modifies and returns a single + The :dbcommand:`findAndModify` command updates and returns a single document. By default, the returned document does not include the modifications made on the update. To return the document with the modifications made on the update, use the ``new`` option. @@ -92,7 +92,7 @@ The command takes the following fields: employs the same :ref:`query selectors ` as used in the :method:`db.collection.find()` method. Although the query may match multiple documents, |operation| - **will only select one document to modify**. + **will only select one document to update**. If unspecified, defaults to an empty document. @@ -104,9 +104,9 @@ The command takes the following fields: ``sort`` - document - - Optional. Determines which document the operation modifies if the query selects - multiple documents. |operation| modifies - the first document in the sort order specified by this argument. + - Optional. Determines which document the operation updates if the query + selects multiple documents. |operation| updates the first document in the + sort order specified by this argument. Starting in MongoDB 4.2 (and 4.0.12+, 3.6.14+, and 3.4.23+), the operation errors if the sort argument is not a document. @@ -135,14 +135,14 @@ The command takes the following fields: - Starting in MongoDB 4.2, if passed an :ref:`aggregation pipeline ` ``[ , , ... ]``, - |operation| modifies the document per the pipeline. The pipeline + |operation| updates the document per the pipeline. The pipeline can consist of the following stages: .. include:: /includes/list-update-agg-stages.rst * - ``new`` - boolean - - Optional. When ``true``, returns the modified document rather than the original. + - Optional. When ``true``, returns the updated document rather than the original. The default is ``false``. * - ``fields`` @@ -288,13 +288,19 @@ The ``lastErrorObject`` embedded document contains the following fields: - Description + * - ``n`` + - integer + - Contains the number of documents that matched the update + predicate or the number of documents that the command inserted or + deleted. + * - ``updatedExisting`` - boolean - Contains ``true`` if an ``update`` operation: - - Modified an existing document. + - Updated an existing document. - Found the document, but it was already in the desired destination state so no update actually occurred. @@ -355,7 +361,7 @@ Shard Key Modification .. include:: /includes/shard-key-modification-warning.rst -To modify the **existing** shard key value with +To update the **existing** shard key value with :dbcommand:`findAndModify`: - You :red:`must` run on a :binary:`~bin.mongos`. Do :red:`not` @@ -499,7 +505,7 @@ This command performs the following actions: "ok" : 1 } -To return the modified document in the ``value`` field, add the +To return the updated document in the ``value`` field, add the ``new:true`` option to the command. If no document match the ``query`` condition, the command @@ -525,7 +531,7 @@ following form: However, the :method:`~db.collection.findAndModify()` shell helper method returns only the unmodified document, or if ``new`` is -``true``, the modified document. +``true``, the updated document. .. code-block:: javascript @@ -745,7 +751,7 @@ Create a collection ``students`` with the following documents: { "_id" : 3, "grades" : [ 95, 110, 100 ] } ] ) -To modify all elements that are greater than or equal to ``100`` in the +To update all elements that are greater than or equal to ``100`` in the ``grades`` array, use the positional :update:`$[\]` operator with the ``arrayFilters`` option: @@ -802,7 +808,7 @@ Create a collection ``students2`` with the following documents: The following operation finds a document where the ``_id`` field equals ``1`` and uses the filtered positional operator :update:`$[\]` with -the ``arrayFilters`` to modify the ``mean`` for all elements in the +the ``arrayFilters`` to update the ``mean`` for all elements in the ``grades`` array where the grade is greater than or equal to ``85``. .. code-block:: javascript diff --git a/source/reference/command/fsync.txt b/source/reference/command/fsync.txt index 0c1c997ef8a..3461ab59b57 100644 --- a/source/reference/command/fsync.txt +++ b/source/reference/command/fsync.txt @@ -4,6 +4,10 @@ fsync .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -26,9 +30,8 @@ Definition .. versionadded:: 7.1 - When the ``fsync`` command runs on :program:`mongos`, it performs the - fsync operation on each shard in the cluster. - + .. |fsync| replace:: ``fsync`` command + .. include:: /includes/fsync-mongos As applications write data, MongoDB records the data in the storage layer and then writes the data to disk within the @@ -42,8 +45,19 @@ Definition .. |method| replace:: :method:`db.fsyncLock` helper method .. include:: /includes/fact-dbcommand-tip - - + + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/fsyncUnlock.txt b/source/reference/command/fsyncUnlock.txt index f172bcd6be3..a90c26e073d 100644 --- a/source/reference/command/fsyncUnlock.txt +++ b/source/reference/command/fsyncUnlock.txt @@ -4,6 +4,10 @@ fsyncUnlock .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -25,8 +29,8 @@ Definition .. versionadded:: 7.1 - When the ``fsyncUnlock`` command runs on :program:`mongos`, it - reduces the lock count for each shard in the cluster. + .. |fsync| replace:: ``fsyncUnlock`` command + .. include:: /includes/fsync-mongos Use this command to unblock writes after you finish a backup operation. @@ -38,7 +42,18 @@ Definition .. |method| replace:: :method:`db.fsyncUnlock` helper method .. include:: /includes/fact-dbcommand-tip - + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/getClusterParameter.txt b/source/reference/command/getClusterParameter.txt index 23b9fa1da72..ef86b220cd8 100644 --- a/source/reference/command/getClusterParameter.txt +++ b/source/reference/command/getClusterParameter.txt @@ -24,6 +24,17 @@ Definition .. include:: /includes/fact-getClusterParameter-availability.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/getCmdLineOpts.txt b/source/reference/command/getCmdLineOpts.txt index 2af853f1a6e..0dd5620f32b 100644 --- a/source/reference/command/getCmdLineOpts.txt +++ b/source/reference/command/getCmdLineOpts.txt @@ -20,6 +20,17 @@ Definition :binary:`~bin.mongod` or :binary:`~bin.mongos`. Run :dbcommand:`getCmdLineOpts` in the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/getDefaultRWConcern.txt b/source/reference/command/getDefaultRWConcern.txt index baa16680e53..b835767b08e 100644 --- a/source/reference/command/getDefaultRWConcern.txt +++ b/source/reference/command/getDefaultRWConcern.txt @@ -23,6 +23,17 @@ Definition - For sharded clusters, issue the :dbcommand:`getDefaultRWConcern` on a :binary:`~bin.mongos`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/getLog.txt b/source/reference/command/getLog.txt index 7823c0c3b84..d2c8babcfd3 100644 --- a/source/reference/command/getLog.txt +++ b/source/reference/command/getLog.txt @@ -26,6 +26,17 @@ Definition ` format. Previously, log data was returned as plaintext. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/getParameter.txt b/source/reference/command/getParameter.txt index c84f42f2375..ec755d8963f 100644 --- a/source/reference/command/getParameter.txt +++ b/source/reference/command/getParameter.txt @@ -19,7 +19,18 @@ Definition retrieving the values of parameters. Use the :method:`db.adminCommand( { command } )` method to run the :dbcommand:`getParameter` command in the ``admin`` database. - + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/hello.txt b/source/reference/command/hello.txt index fed02ec34e7..cb6342acc44 100644 --- a/source/reference/command/hello.txt +++ b/source/reference/command/hello.txt @@ -40,6 +40,17 @@ Definition members and to discover additional members of a :term:`replica set`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/hostInfo.txt b/source/reference/command/hostInfo.txt index fdf9e698620..e8fe14afd75 100644 --- a/source/reference/command/hostInfo.txt +++ b/source/reference/command/hostInfo.txt @@ -23,6 +23,17 @@ Definition You must run the :dbcommand:`hostInfo` command, which takes no arguments, against the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/isSelf.txt b/source/reference/command/isSelf.txt index 3e90cfe5689..ab5c5de69a2 100644 --- a/source/reference/command/isSelf.txt +++ b/source/reference/command/isSelf.txt @@ -15,3 +15,14 @@ isSelf :dbcommand:`_isSelf` is an internal command. .. slave-ok + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/command/killCursors.txt b/source/reference/command/killCursors.txt index c9e604e4357..b281e9fe5fc 100644 --- a/source/reference/command/killCursors.txt +++ b/source/reference/command/killCursors.txt @@ -31,6 +31,17 @@ Definition .. include:: /includes/fact-dbcommand.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/killOp.txt b/source/reference/command/killOp.txt index 3ba62f032df..ba9d00ba829 100644 --- a/source/reference/command/killOp.txt +++ b/source/reference/command/killOp.txt @@ -27,6 +27,17 @@ Definition .. include:: /includes/fact-dbcommand.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free-and-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/listCollections.txt b/source/reference/command/listCollections.txt index f8c3ae9e0cd..f257eb91390 100644 --- a/source/reference/command/listCollections.txt +++ b/source/reference/command/listCollections.txt @@ -25,6 +25,17 @@ Definition :binary:`~bin.mongosh` provides the :method:`db.getCollectionInfos()` and the :method:`db.getCollectionNames()` helper methods. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/listCommands.txt b/source/reference/command/listCommands.txt index 2fd6166f400..31fed0d2437 100644 --- a/source/reference/command/listCommands.txt +++ b/source/reference/command/listCommands.txt @@ -19,6 +19,17 @@ Definition database commands implemented for the current :binary:`~bin.mongod` or :binary:`~bin.mongos` instance. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/listDatabases.txt b/source/reference/command/listDatabases.txt index e72fe7d62dc..6ad30c3080e 100644 --- a/source/reference/command/listDatabases.txt +++ b/source/reference/command/listDatabases.txt @@ -20,6 +20,17 @@ Definition :dbcommand:`listDatabases` must run against the ``admin`` database, as in the following example: +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/listIndexes.txt b/source/reference/command/listIndexes.txt index 84707a9b74e..9a6116495c6 100644 --- a/source/reference/command/listIndexes.txt +++ b/source/reference/command/listIndexes.txt @@ -22,7 +22,18 @@ Definition .. |method| replace:: :method:`db.collection.getIndexes()` helper method .. include:: /includes/fact-dbcommand-tip - + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/lockInfo.txt b/source/reference/command/lockInfo.txt index 7d213562195..bd23b5d4b5c 100644 --- a/source/reference/command/lockInfo.txt +++ b/source/reference/command/lockInfo.txt @@ -19,6 +19,17 @@ Definition pending. :dbcommand:`lockInfo` is an internal command available on :binary:`~bin.mongod` instances only. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/logRotate.txt b/source/reference/command/logRotate.txt index 595449dff93..8de10a2d399 100644 --- a/source/reference/command/logRotate.txt +++ b/source/reference/command/logRotate.txt @@ -22,6 +22,17 @@ Definition You must issue the :dbcommand:`logRotate` command against the :term:`admin database`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/medianKey.txt b/source/reference/command/medianKey.txt deleted file mode 100644 index 1ef8d6734db..00000000000 --- a/source/reference/command/medianKey.txt +++ /dev/null @@ -1,28 +0,0 @@ -========= -medianKey -========= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -.. dbcommand:: medianKey - - :dbcommand:`medianKey` is an internal command. - - .. slave-ok, read-lock - -Compatibility -------------- - -This command is available in deployments hosted in the following environments: - -.. include:: /includes/fact-environments-atlas-only.rst - -.. include:: /includes/fact-environments-atlas-support-all.rst - -.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/command/nav-administration.txt b/source/reference/command/nav-administration.txt index c5ef706cb81..fe4ba9d5930 100644 --- a/source/reference/command/nav-administration.txt +++ b/source/reference/command/nav-administration.txt @@ -20,13 +20,6 @@ Administration Commands - Description - * - :dbcommand:`bulkWrite` - - - Performs many insert, update, and delete operations on multiple - collections in one request. - - .. versionadded:: 7.2 - * - :dbcommand:`cloneCollectionAsCapped` - Copies a non-capped collection as a new :term:`capped collection`. @@ -182,7 +175,6 @@ Administration Commands :titlesonly: :hidden: - /reference/command/bulkWrite /reference/command/cloneCollectionAsCapped /reference/command/collMod /reference/command/compact diff --git a/source/reference/command/nav-sharding.txt b/source/reference/command/nav-sharding.txt index 282d03e3318..5eb22703fc8 100644 --- a/source/reference/command/nav-sharding.txt +++ b/source/reference/command/nav-sharding.txt @@ -128,10 +128,6 @@ Sharding Commands * - :dbcommand:`listShards` - Returns a list of configured shards. - - * - :dbcommand:`medianKey` - - - Deprecated internal command. See :dbcommand:`splitVector`. * - :dbcommand:`moveChunk` @@ -237,7 +233,6 @@ Sharding Commands /reference/command/getShardVersion /reference/command/isdbgrid /reference/command/listShards - /reference/command/medianKey /reference/command/moveChunk /reference/command/movePrimary /reference/command/moveRange diff --git a/source/reference/command/netstat.txt b/source/reference/command/netstat.txt index b0d8e99114e..73ab3417c29 100644 --- a/source/reference/command/netstat.txt +++ b/source/reference/command/netstat.txt @@ -14,3 +14,14 @@ netstat :dbcommand:`netstat` is an internal command that is only available on :binary:`~bin.mongos` instances. + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/command/ping.txt b/source/reference/command/ping.txt index 770c813052d..13c16baea75 100644 --- a/source/reference/command/ping.txt +++ b/source/reference/command/ping.txt @@ -19,6 +19,17 @@ Definition server is responding to commands. This command will return immediately even if the server is write-locked: +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/profile.txt b/source/reference/command/profile.txt index 01c365c64b2..8739f0ee6ef 100644 --- a/source/reference/command/profile.txt +++ b/source/reference/command/profile.txt @@ -67,6 +67,17 @@ Definition .. include:: /includes/warning-profiler-performance.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/reIndex.txt b/source/reference/command/reIndex.txt index d86995d72b0..d538c9993f1 100644 --- a/source/reference/command/reIndex.txt +++ b/source/reference/command/reIndex.txt @@ -34,6 +34,17 @@ Definition instances. - For most users, the :dbcommand:`reIndex` command is unnecessary. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/renameCollection.txt b/source/reference/command/renameCollection.txt index dacdc3c6413..27bc5c6e7e0 100644 --- a/source/reference/command/renameCollection.txt +++ b/source/reference/command/renameCollection.txt @@ -25,6 +25,17 @@ Definition Issue the :dbcommand:`renameCollection` command against the :term:`admin database`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetAbortPrimaryCatchUp.txt b/source/reference/command/replSetAbortPrimaryCatchUp.txt index 30dc8f7f34e..4e584d5bf6c 100644 --- a/source/reference/command/replSetAbortPrimaryCatchUp.txt +++ b/source/reference/command/replSetAbortPrimaryCatchUp.txt @@ -19,6 +19,17 @@ Definition :term:`primary` member of the replica set to abort sync (catch up) then complete the transition to primary. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetFreeze.txt b/source/reference/command/replSetFreeze.txt index fd2cb71e2ab..76e2f3328ad 100644 --- a/source/reference/command/replSetFreeze.txt +++ b/source/reference/command/replSetFreeze.txt @@ -24,6 +24,17 @@ Definition .. |method| replace:: :method:`rs.freeze` helper method .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetGetConfig.txt b/source/reference/command/replSetGetConfig.txt index 4c199631614..70d1434cd53 100644 --- a/source/reference/command/replSetGetConfig.txt +++ b/source/reference/command/replSetGetConfig.txt @@ -21,6 +21,18 @@ Definition .. |method| replace:: :method:`rs.conf` helper method .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/command/replSetGetStatus.txt b/source/reference/command/replSetGetStatus.txt index d2f2c4a2cf5..16ebdee79bb 100644 --- a/source/reference/command/replSetGetStatus.txt +++ b/source/reference/command/replSetGetStatus.txt @@ -33,6 +33,16 @@ Definition .. |method| replace:: :method:`rs.status` helper method .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/command/replSetInitiate.txt b/source/reference/command/replSetInitiate.txt index 2c661b1f601..a37d1c0c7fd 100644 --- a/source/reference/command/replSetInitiate.txt +++ b/source/reference/command/replSetInitiate.txt @@ -29,6 +29,17 @@ Definition Run the command on only one of the :binary:`~bin.mongod` instances for the replica set. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetMaintenance.txt b/source/reference/command/replSetMaintenance.txt index 571be71f0f0..546473d1d2d 100644 --- a/source/reference/command/replSetMaintenance.txt +++ b/source/reference/command/replSetMaintenance.txt @@ -19,6 +19,17 @@ Definition maintenance mode for a :term:`secondary` member of a :term:`replica set`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetReconfig.txt b/source/reference/command/replSetReconfig.txt index 43414db968c..ec26264f5f7 100644 --- a/source/reference/command/replSetReconfig.txt +++ b/source/reference/command/replSetReconfig.txt @@ -24,6 +24,16 @@ Definition .. |method| replace:: :method:`rs.reconfig` helper method .. include:: /includes/fact-dbcommand-tip +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/command/replSetResizeOplog.txt b/source/reference/command/replSetResizeOplog.txt index c4822eb890d..4d505ab938f 100644 --- a/source/reference/command/replSetResizeOplog.txt +++ b/source/reference/command/replSetResizeOplog.txt @@ -31,6 +31,17 @@ Definition You must run this command against the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetStepDown.txt b/source/reference/command/replSetStepDown.txt index a0eb68e5ca3..33b102a6023 100644 --- a/source/reference/command/replSetStepDown.txt +++ b/source/reference/command/replSetStepDown.txt @@ -26,6 +26,17 @@ Description The :dbcommand:`replSetStepDown` can only run on the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/replSetSyncFrom.txt b/source/reference/command/replSetSyncFrom.txt index c712806b9f1..541c6589237 100644 --- a/source/reference/command/replSetSyncFrom.txt +++ b/source/reference/command/replSetSyncFrom.txt @@ -25,6 +25,17 @@ Description Run :dbcommand:`replSetSyncFrom` in the ``admin`` database. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/reshardCollection.txt b/source/reference/command/reshardCollection.txt index a0396a970b7..ad5151be135 100644 --- a/source/reference/command/reshardCollection.txt +++ b/source/reference/command/reshardCollection.txt @@ -58,7 +58,7 @@ The command has the following syntax: }, ... ], - forceDistribution: + forceRedistribution: } ) @@ -113,7 +113,7 @@ The command takes the following fields: * - ``collation`` - document - - Optional. If the collection specified to ``reshardCollection`` + - Optional. If the collection specified in ``reshardCollection`` has a default :ref:`collation `, you *must* include a collation document with ``{ locale : "simple" }``, or the ``reshardCollection`` command fails. @@ -125,8 +125,8 @@ The command takes the following fields: * - ``forceRedistribution`` - boolean - - Optional. When set to ``true``, the operation executes even if the new - shard key is the same as the old shard key. Use with the + - Optional. If set to ``true``, the operation runs even if the new + shard key is the same as the old shard key. Use with the ``zones`` option to move data to specific zones. .. versionadded:: 7.2 @@ -201,8 +201,8 @@ Commit Phase :ref:`sharding-resharding` -Example -------- +Examples +-------- Reshard a Collection ~~~~~~~~~~~~~~~~~~~~ @@ -217,9 +217,10 @@ new shard key ``{ order_id: 1 }``: key: { order_id: 1 } }) -MongoDB returns the following: +Output: .. code-block:: javascript + :copyable: false { ok: 1, diff --git a/source/reference/command/rotateCertificates.txt b/source/reference/command/rotateCertificates.txt index c51fc820890..a94f9dc89f1 100644 --- a/source/reference/command/rotateCertificates.txt +++ b/source/reference/command/rotateCertificates.txt @@ -23,6 +23,17 @@ Definition certificates defined in the :doc:`configuration file `. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/serverStatus.txt b/source/reference/command/serverStatus.txt index 7dd60562193..4100e17c94c 100644 --- a/source/reference/command/serverStatus.txt +++ b/source/reference/command/serverStatus.txt @@ -4,6 +4,14 @@ serverStatus .. default-domain:: mongodb +.. facet:: + :name: programming_language + :values: shell + +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -25,6 +33,17 @@ Definition applications can run this command at a regular interval to collect statistics about the instance. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ @@ -1736,7 +1755,8 @@ metrics reconfig : { numAutoReconfigsForRemovalOfNewlyAddedFields : Long("") }, - stepDown : { + stateTransition : { + lastStateTransition : , userOperationsKilled : Long(""), userOperationsRunning : Long("") }, @@ -1745,6 +1765,10 @@ metrics numTimesChoseSame : Long(""), numTimesChoseDifferent : Long(""), numTimesCouldNotFind : Long("") + }, + waiters : { + opTime : Long(""), + replication : Long("") } }, storage : { @@ -1882,8 +1906,6 @@ metrics The counter for ``$expr`` increments when the query runs. The counter for ``$gt`` does not. - .. versionadded:: 5.1 - .. serverstatus:: metrics.changeStreams.largeEventsSplit The number of change stream events larger than 16 MB that were split @@ -2544,26 +2566,52 @@ metrics .. versionadded:: 5.0 -.. serverstatus:: metrics.repl.stepDown +.. serverstatus:: metrics.repl.stateTransition - Information on user operations that were running when the - :binary:`~bin.mongod` stepped down. + Information on user operations when the member undergoes one of the + following transitions that can stop user operations: - .. versionadded:: 4.2 + - The member steps up to become a primary. -.. serverstatus:: metrics.repl.stepDown.userOperationsKilled + - The member steps down to become a secondary. - The number of user operations killed when the :binary:`~bin.mongod` - stepped down. + - The member is actively performing a rollback. - .. versionadded:: 4.2 +.. serverstatus:: metrics.repl.stateTransition.lastStateTransition -.. serverstatus:: metrics.repl.stepDown.userOperationsRunning + The transition being reported: - The number of user operations that remained running when the - :binary:`~bin.mongod` stepped down. + .. list-table:: + :widths: 20 80 + :header-rows: 1 - .. versionadded:: 4.2 + * - State Change + - Description + + * - ``"stepUp"`` + + - The member steps up to become a primary. + + * - ``"stepDown"`` + - The member steps down to become a secondary. + + * - ``"rollback"`` + + - The member is actively performing a rollback. + + * - ``""`` + + - The member has not undergone any state changes. + +.. serverstatus:: metrics.repl.stateTransition.userOperationsKilled + + The number of user operations stopped during the + :binary:`~bin.mongod` instance's state change. + +.. serverstatus:: metrics.repl.stateTransition.userOperationsRunning + + The number of user operations that remained running during the + ``mongod`` instance's state change. .. serverstatus:: metrics.repl.syncSource @@ -2602,6 +2650,19 @@ metrics .. versionadded:: 4.4 +.. serverstatus:: metrics.repl.waiters.replication + + The number of threads waiting for replicated or journaled :ref:`write concern + acknowledgements `. + + .. versionadded:: 7.3 + +.. serverstatus:: metrics.repl.waiters.opTime + + The number of threads queued for local replication :term:`optime` assignments. + + .. versionadded:: 7.3 + .. serverstatus:: metrics.storage.freelist.search.bucketExhausted The number of times that :binary:`~bin.mongod` has examined the free @@ -3844,11 +3905,13 @@ planCache totalSizeEstimateBytes : Long(""), classic : { hits : Long(""), - misses : Long("") + misses : Long(""), + skipped : Long("") }, sbe : { hits : Long(""), - misses: Long("") + misses: Long(""), + skipped : Long("") } } @@ -3885,6 +3948,13 @@ planCache Number of classic execution engine query plans which were not found in the query cache and went through the query planning phase. +.. serverstatus:: planCache.classic.skipped + + Number of classic execution engine query plans that were not found in the + query cache because the query is ineligible for caching. + + .. versionadded:: 7.3 + .. serverstatus:: planCache.sbe.hits Number of |sbe-short| query plans found in the query @@ -3895,6 +3965,13 @@ planCache Number of |sbe-short| plans which were not found in the query cache and went through the query planning phase. +.. serverstatus:: planCache.sbe.skipped + + Number of |sbe-short| query plans that were not found in the + query cache because the query is ineligible for caching. + + .. versionadded:: 7.3 + .. _server-status-queryStats: queryStats diff --git a/source/reference/command/setClusterParameter.txt b/source/reference/command/setClusterParameter.txt index 59104e8529b..9355521b976 100644 --- a/source/reference/command/setClusterParameter.txt +++ b/source/reference/command/setClusterParameter.txt @@ -26,6 +26,16 @@ Definition .. include:: /includes/reference/fact-setClusterParameter-availability.rst +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/command/setDefaultRWConcern.txt b/source/reference/command/setDefaultRWConcern.txt index 5772c1b2811..224f83a494d 100644 --- a/source/reference/command/setDefaultRWConcern.txt +++ b/source/reference/command/setDefaultRWConcern.txt @@ -28,6 +28,17 @@ Definition - For sharded clusters, issue the :dbcommand:`setDefaultRWConcern` on a :binary:`~bin.mongos`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/setFeatureCompatibilityVersion.txt b/source/reference/command/setFeatureCompatibilityVersion.txt index d2123ebd98d..83a78009dac 100644 --- a/source/reference/command/setFeatureCompatibilityVersion.txt +++ b/source/reference/command/setFeatureCompatibilityVersion.txt @@ -31,6 +31,17 @@ Definition to ensure the likelihood of downgrade is minimal. When you are confident that the likelihood of downgrade is minimal, enable these features. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/setIndexCommitQuorum.txt b/source/reference/command/setIndexCommitQuorum.txt index 2a6592d0c99..f9d142340c3 100644 --- a/source/reference/command/setIndexCommitQuorum.txt +++ b/source/reference/command/setIndexCommitQuorum.txt @@ -18,6 +18,17 @@ setIndexCommitQuorum data-bearing members that must be prepared to commit their local index builds before the primary node will commit the index. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/setParameter.txt b/source/reference/command/setParameter.txt index b51ba94fa48..870f7676e5b 100644 --- a/source/reference/command/setParameter.txt +++ b/source/reference/command/setParameter.txt @@ -21,6 +21,17 @@ Definition the :dbcommand:`setParameter` command against the :term:`admin database`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/shardConnPoolStats.txt b/source/reference/command/shardConnPoolStats.txt index 652475f5121..816bff6141e 100644 --- a/source/reference/command/shardConnPoolStats.txt +++ b/source/reference/command/shardConnPoolStats.txt @@ -40,6 +40,17 @@ Definition MongoDB returns the connection to the connection pool after every operation. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Output ------ diff --git a/source/reference/command/shutdown.txt b/source/reference/command/shutdown.txt index d6c58f63bf9..62563b1b902 100644 --- a/source/reference/command/shutdown.txt +++ b/source/reference/command/shutdown.txt @@ -18,6 +18,17 @@ shutdown and then terminates the process. You must issue the :dbcommand:`shutdown` command against the :term:`admin database`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/top.txt b/source/reference/command/top.txt index 2f35c46ce22..f66d2dbc539 100644 --- a/source/reference/command/top.txt +++ b/source/reference/command/top.txt @@ -38,6 +38,17 @@ Redaction When using :ref:`Queryable Encryption `, the ``top`` command only returns the collection name. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/update.txt b/source/reference/command/update.txt index 3b6ce629a72..5984acaab5a 100644 --- a/source/reference/command/update.txt +++ b/source/reference/command/update.txt @@ -185,7 +185,8 @@ Each document contains the following fields: - document - .. _update-command-c: - Optional. + Optional. You can specify ``c`` only if :ref:`u + ` is a pipeline. .. include:: /includes/let-variables-syntax.rst diff --git a/source/reference/command/validate.txt b/source/reference/command/validate.txt index cccea205397..c2865cf387d 100644 --- a/source/reference/command/validate.txt +++ b/source/reference/command/validate.txt @@ -39,6 +39,17 @@ Definition :binary:`~bin.mongosh` provides a wrapper around :dbcommand:`validate`. +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/command/whatsmyuri.txt b/source/reference/command/whatsmyuri.txt index cc30d6ed732..affd37966d2 100644 --- a/source/reference/command/whatsmyuri.txt +++ b/source/reference/command/whatsmyuri.txt @@ -15,3 +15,14 @@ whatsmyuri :dbcommand:`whatsmyuri` is an internal command. .. slave-ok + +Compatibility +------------- + +This command is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/config-database.txt b/source/reference/config-database.txt index 51aa8be30bc..f484d1a2a2c 100644 --- a/source/reference/config-database.txt +++ b/source/reference/config-database.txt @@ -164,7 +164,7 @@ to support sharding: .. data:: config.changelog.what - Reflects the type of change recorded. Possible values include: + The type of change recorded. Possible values include: - ``dropCollection`` - ``dropCollection.start`` @@ -181,7 +181,7 @@ to support sharding: .. data:: config.changelog.details - A :term:`document` that contains additional details regarding + A :term:`document` that contains additional details for the change. The structure of the :data:`~config.changelog.details` document depends on the type of change. @@ -189,30 +189,40 @@ to support sharding: .. include:: /includes/admonition-config-db-is-internal.rst - The :data:`~config.chunks` collection stores a document for each chunk in - the cluster. Consider the following example of a document for a - chunk named ``mydb.foo-a_\"cat\"``: + The :data:`config.chunks` collection stores a document for each + chunk in the cluster. The following example shows a document: .. code-block:: javascript { - "_id" : "mydb.foo-a_\"cat\"", - "lastmod" : Timestamp(2, 1), - "uuid": "c025d039-e626-435e-b2d2-c1d436038041", - "min" : { - "animal" : "cat" - }, - "max" : { - "animal" : "dog" - }, - "shard" : "shard0004", - "history" : [ { "validAfter" : Timestamp(1569368571, 27), "shard" : "shard0004" } ] + _id: ObjectId('65a954c0de11596e08e7c1dc'), + uuid: UUID('a4479215-a38d-478f-a82b-e5e95d455e55'), + min: { a: Long('121204345') }, + max: { a: Long('993849349') }, + shard: 'shard01', + lastmod: Timestamp({ t: 1, i: 0 }), + history: [ + { + validAfter: Timestamp({ t: 1705596095, i: 14 }), + shard: 'shard01' + } + ] } - These documents store the range of values for the shard key that - describe the chunk in the ``min`` and ``max`` fields. Additionally - the ``shard`` field identifies the shard in the cluster that "owns" - the chunk. + In the document: + + - ``_id`` is the chunk identifier. + - ``min`` and ``max`` are the range of values for the chunk's shard + key. + - ``shard`` is the name of the shard that stores the chunk in the + cluster. + + .. tip:: + + To find the chunks in a collection, retrieve the collection's + ``uuid`` identifier from the :data:`config.collections` + collection. Then, use ``uuid`` to retrieve the matching document + with the same ``uuid`` from the ``config.chunks`` collection. .. data:: config.collections @@ -412,7 +422,7 @@ to support sharding: .. include:: /includes/admonition-config-db-is-internal.rst The :data:`~config.version` collection holds the current metadata version number. This - collection contains only one document. For example: + collection contains only one document. For example: .. code-block:: javascript @@ -430,7 +440,7 @@ to support sharding: Collections to Support Sessions ------------------------------- -Starting in MongoDB 3.6, the ``config`` database contains the +The ``config`` database contains the *internal* collections to support :ref:`causally consistent sessions ` for standalones, replica sets, and sharded clusters and retryable writes and :ref:`transactions ` for diff --git a/source/reference/configuration-options.txt b/source/reference/configuration-options.txt index e177562512d..8cdae9462b2 100644 --- a/source/reference/configuration-options.txt +++ b/source/reference/configuration-options.txt @@ -27,6 +27,10 @@ versions of MongoDB, see the appropriate version of the MongoDB Manual. to configure settings for your {+atlas+} deployment, see :atlas:`Configure Additional Settings `. +In addition to using the configuration file options, the default +configuration for the MongoDB binaries also uses the operating system +environment variables. + .. _conf-file: Configuration File @@ -1721,11 +1725,11 @@ Core Options .. include:: /includes/extracts/tls-facts-x509-invalid-certificate.rst - When using - the :setting:`net.tls.allowInvalidCertificates` setting, MongoDB + When using the ``net.tls.allowInvalidCertificates`` setting, MongoDB logs a warning regarding the use of the invalid certificate. - .. include:: /includes/extracts/tls-facts-see-more.rst + For more information about TLS and MongoDB, see + :ref:`configure-mongod-mongos-for-tls-ssl` and :ref:`inter-process-auth`. .. setting:: net.tls.allowInvalidHostnames @@ -1734,12 +1738,14 @@ Core Options *Default*: false - When :setting:`net.tls.allowInvalidHostnames` is ``true``, MongoDB disables the validation of the - hostnames in TLS certificates, allowing :binary:`~bin.mongod` to connect to - MongoDB instances if the hostname their certificates do not match the - specified hostname. + When ``net.tls.allowInvalidHostnames`` is ``true``, MongoDB disables + the validation of the hostnames in TLS certificates. This allows + :binary:`~bin.mongod` or :binary:`~bin.mongos` to connect to other MongoDB + instances in the cluster, even if the hostname of their certificates does not + match the specified hostname. - .. include:: /includes/extracts/tls-facts-see-more.rst + For more information about TLS and MongoDB, see + :ref:`configure-mongod-mongos-for-tls-ssl`. .. setting:: net.tls.disabledProtocols @@ -3128,6 +3134,12 @@ Key Management Configuration Options :setting:`security.ldap.servers`. MongoDB supports following LDAP referrals as defined in `RFC 4511 4.1.10 `_. Do not use :setting:`security.ldap.servers` for listing every LDAP server in your infrastructure. + + You can prefix LDAP servers with ``srv:`` and ``srv_raw:``. + + .. |ldap-binary| replace:: :binary:`mongod` + + .. include:: /includes/ldap-srv-details.rst This setting can be configured on a running :binary:`~bin.mongod` or :binary:`~bin.mongos` using :dbcommand:`setParameter`. @@ -3434,7 +3446,7 @@ Key Management Configuration Options .. note:: An explanation of `RFC4514 `_, - `RFC4515 `_, + `RFC4515 `_, `RFC4516 `_, or LDAP queries is out of scope for the MongoDB Documentation. Please review the RFC directly or use your preferred LDAP resource. @@ -3521,7 +3533,7 @@ Key Management Configuration Options *Available in MongoDB Enterprise only.* A relative LDAP query URL formatted conforming to `RFC4515 - `_ and `RFC4516 + `_ and `RFC4516 `_ that :binary:`~bin.mongod` executes to obtain the LDAP groups to which the authenticated user belongs to. The query is relative to the host or hosts specified in :setting:`security.ldap.servers`. @@ -3589,7 +3601,7 @@ Key Management Configuration Options .. note:: - An explanation of `RFC4515 `_, + An explanation of `RFC4515 `_, `RFC4516 `_ or LDAP queries is out of scope for the MongoDB Documentation. Please review the RFC directly or use your preferred LDAP resource. diff --git a/source/reference/connection-string.txt b/source/reference/connection-string.txt index f3b4bfe075c..41551973d49 100644 --- a/source/reference/connection-string.txt +++ b/source/reference/connection-string.txt @@ -697,6 +697,16 @@ connecting to the MongoDB deployment. drivers. For information on your driver, see the :driver:`Drivers ` documentation. + * - .. urioption:: maxConnecting + + - Maximum number of connections a pool may be establishing + concurrently. The default value is ``2``. + + ``maxConnecting`` is supported for all drivers **except** the + :driver:`Rust Driver `. + + .. include:: /includes/connection-pool/max-connecting-use-case.rst + * - .. urioption:: maxIdleTimeMS - The maximum number of milliseconds that a connection can remain @@ -1481,4 +1491,3 @@ The following connects to a sharded cluster with three :binary:`~bin.mongos` ins ``D1fficultP%40ssw0rd``: .. include:: /includes/connection-examples-by-language-sharded.rst - diff --git a/source/reference/database-profiler.txt b/source/reference/database-profiler.txt index b0f554d4d70..140d781c930 100644 --- a/source/reference/database-profiler.txt +++ b/source/reference/database-profiler.txt @@ -441,7 +441,7 @@ operation. .. versionadded:: 6.2 - The time, in milliseconds, that the ``find`` or ``aggregate`` command + The time, in microseconds, that the ``find`` or ``aggregate`` command spent in :ref:`query planning `. .. data:: system.profile.planSummary diff --git a/source/reference/database-references.txt b/source/reference/database-references.txt index 8751d6be06b..a4c049e2683 100644 --- a/source/reference/database-references.txt +++ b/source/reference/database-references.txt @@ -267,7 +267,7 @@ Driver Support for DBRefs .. list-table:: :header-rows: 1 :stub-columns: 1 - :widths: 20 25 80 + :widths: 20 25 55 * - Driver - DBRef Support diff --git a/source/reference/explain-results.txt b/source/reference/explain-results.txt index 3aaa44a62b1..ed75ef04721 100644 --- a/source/reference/explain-results.txt +++ b/source/reference/explain-results.txt @@ -12,8 +12,8 @@ Explain Results :depth: 2 :class: singlecol -To return information on query plans and execution statistics of the -query plans, MongoDB provides: +To return information on :ref:`query plans ` and +execution statistics of the query plans, MongoDB provides: - the :method:`db.collection.explain()` method, @@ -558,16 +558,24 @@ representative. Your output may differ significantly. .. data:: explain.executionStats.nReturned - Number of documents that match the query condition. + Number of documents returned by the winning query plan. :data:`~explain.executionStats.nReturned` corresponds to the ``n`` field returned by ``cursor.explain()`` in earlier versions of MongoDB. .. data:: explain.executionStats.executionTimeMillis Total time in milliseconds required for query plan selection and - query execution. :data:`explain.executionStats.executionTimeMillis` corresponds - to the ``millis`` field returned by ``cursor.explain()`` in - earlier versions of MongoDB. + query execution. It includes the time it takes to run the trial phase + part of the plan selection process, but does not include the network time + to transmit the data back to the client. + + The time reported by ``explain.executionStats.executionTimeMillis`` is + not necessarily representative of actual query time. During steady + state operations (when the query plan is cached), or when using + :method:`cursor.hint()` with ``cursor.explain()``, MongoDB bypasses the + plan selection process, resulting in a faster actual time, leading to + a lower ``explain.executionStats.executionTimeMillis`` value. + .. data:: explain.executionStats.totalKeysExamined @@ -834,7 +842,6 @@ The following fields are included in the explain results for a totalKeysExamined: , collectionScans: , indexesUsed: [ , , ..., ], - nReturned: , executionTimeMillisEstimate: To see the descriptions for the fields in the ``$lookup`` section, see @@ -862,10 +869,6 @@ The other fields are: Array of strings with the names of the indexes used by the query. -.. data:: explain.nReturned - - Number of documents that match the query condition. - .. data:: explain.executionTimeMillisEstimate Estimated time in milliseconds for the query execution. diff --git a/source/reference/glossary.txt b/source/reference/glossary.txt index e0507b7e2ae..529b58c5e03 100644 --- a/source/reference/glossary.txt +++ b/source/reference/glossary.txt @@ -25,7 +25,7 @@ Glossary :sorted: $cmd - A special virtual :term:`collection` that exposes MongoDB's + A virtual :term:`collection` that exposes MongoDB's :term:`database commands `. To use database commands, see :ref:`issue-commands`. @@ -35,7 +35,7 @@ Glossary think of the ``_id`` field as the document's :term:`primary key`. If you create a new document without an ``_id`` field, MongoDB automatically creates the field and assigns a unique - BSON :term:`ObjectId`. + BSON :term:`ObjectId` to the field. accumulator An :term:`expression` in an :term:`aggregation pipeline` that @@ -55,20 +55,23 @@ Glossary see :ref:`admin-commands`. aggregation - Any of a variety of operations that reduces and summarizes large + An operation that reduces and summarizes large sets of data. MongoDB's :method:`~db.collection.aggregate()` and :method:`~db.collection.mapReduce()` methods are two examples of aggregation operations. For more information, see :ref:`aggregation`. aggregation pipeline - The set of MongoDB operators that let you calculate aggregate - values without having to use :term:`map-reduce`. For a list of - operators, see :doc:`/reference/aggregation`. + Consists of one or more stages that process documents. Aggregation + operators calculate aggregate values without having to use + :term:`map-reduce`. For a list of operators, see + :doc:`/reference/aggregation`. arbiter - A member of a :term:`replica set` that exists solely to vote in - :term:`elections `. Arbiters do not replicate data. See + A :term:`replica set` member that exists just to vote in + :term:`elections `. Arbiters do not replicate data. An + arbiter participates in elections for a :term:`primary` but cannot + become a primary. For more details, see :ref:`replica-set-arbiter-configuration`. Atlas @@ -76,8 +79,8 @@ Glossary is a cloud-hosted database-as-a-service. atomic operation - An atomic operation is a write operation which either completes - entirely, or does not complete at all. In the case of + An atomic operation is a write operation that either completes + entirely or doesn't complete at all. For :ref:`distributed transactions `, which involve writes to multiple documents, all writes to each document must succeed for the transaction to succeed. Atomic operations cannot @@ -110,7 +113,7 @@ Glossary Backup cursors are for internal use only. blocking sort - A sort that must be performed in memory before output is returned. + A sort that must be performed in memory before the output is returned. Blocking sorts may impact performance for large data sets. Use an :term:`indexed sort` to avoid a blocking sort. @@ -119,14 +122,14 @@ Glossary bounded collection scan A plan used by the :doc:`query optimizer ` that - eliminates documents with specific field value ranges. For + excludes documents with specific field value ranges. For example, if a range of date field values is outside of a specified - date range, the documents in that range are eliminated from the + date range, the documents in that range are excluded from the query plan. See :ref:`explain-output-collection-scan`. BSON A serialization format used to store :term:`documents ` and make - remote procedure calls in MongoDB. "BSON" is a portmanteau of the words + remote procedure calls in MongoDB. "BSON" is a combination of the words "binary" and "JSON". Think of BSON as a binary representation of JSON (JavaScript Object Notation) documents. See :ref:`bson-types` and @@ -138,7 +141,7 @@ Glossary B-tree A data structure commonly used by database management systems to - store indexes. MongoDB uses B-trees for its indexes. + store indexes. MongoDB uses B-tree indexes. CAP Theorem Given three properties of computing systems, consistency, @@ -148,7 +151,7 @@ Glossary capped collection A fixed-sized :term:`collection ` that automatically - overwrites its oldest entries when it reaches its maximum size. + overwrites its oldest entries when the collection reaches its maximum size. The MongoDB :term:`oplog` that is used in :term:`replication` is a capped collection. See :doc:`/core/capped-collections`. @@ -158,11 +161,11 @@ Glossary and has a cardinality of 3. See :ref:`shard-key-cardinality`. cartesian product - The result of combining two data sets such that the combined set + The result of combining two data sets where the combined set contains every possible combination of values. cfq - Complete Fairness Queueing (cfq) is a I/O operation scheduler + Complete Fairness Queueing (cfq) is an I/O operation scheduler that allocates bandwidth for incoming request processes. checksum @@ -170,20 +173,22 @@ Glossary The :term:`md5` algorithm is sometimes used as a checksum. chunk - A contiguous range of :term:`shard key` values within a particular + A contiguous range of :term:`shard key` values within a :term:`shard`. Chunk ranges are inclusive of the lower boundary and exclusive of the upper boundary. MongoDB splits chunks when - they grow beyond the configured chunk size, which by default is - 128 megabytes. MongoDB migrates chunks when a shard contains too - many chunks of a collection relative to other shards. See - :ref:`sharding-data-partitioning` and :ref:`sharding-balancing`. + they grow bigger than the configured chunk size. The default chunk + size is 128 megabytes. MongoDB migrates chunks when a shard + contains too many chunks of a collection relative to other shards. + For more details, see :ref:`sharding-data-partitioning`, + :ref:`sharding-balancing`, :ref:`sharded-cluster-balancer`, and + :ref:`release-notes-6.1-balancing-policy-changes`. client The application layer that uses a database for data persistence and storage. :term:`Drivers ` provide the interface level between the application layer and the database server. - Client can also refer to a single thread or process. + A client can also be a single thread or process. client affinity A consistent client connection to a specified data source. @@ -206,16 +211,16 @@ Glossary collection A grouping of MongoDB :term:`documents `. A collection - is the equivalent of an :term:`RDBMS` table. A collection exists - within a single :term:`database`. Collections do not enforce a - schema. Documents within a collection can have different fields. - Typically, all documents in a collection have a similar or related + is the equivalent of an :term:`RDBMS` table. A collection is + in a single :term:`database`. Collections do not enforce a + schema. Documents in a collection can have different fields. + Typically, documents in a collection have a similar or related purpose. See :ref:`faq-dev-namespace`. collection scan Collection scans are a query execution strategy where MongoDB must inspect every document in a collection to see if it matches the - query criteria. These queries are very inefficient and do not use + query criteria. These queries are very inefficient and don't use indexes. See :doc:`/core/query-optimization` for details about query execution strategies. @@ -229,7 +234,7 @@ Glossary During an :ref:`index build ` the :ref:`commit quorum ` specifies how many secondaries must be ready to commit their local - index build before the primary node will execute the commit. + index build before the primary node performs the commit. compound index An :term:`index` consisting of two or more keys. See @@ -238,20 +243,28 @@ Glossary concurrency control Concurrency control ensures that database operations can be executed concurrently without compromising correctness. - Pessimistic concurrency control, such as used in systems - with :term:`locks `, will block any potentially - conflicting operations even if they may not turn out to - actually conflict. Optimistic concurrency control, the approach - used by :ref:`WiredTiger `, will delay - checking until after a conflict may have occurred, aborting and - retrying one of the operations involved in any :term:`write - conflict` that arises. + Pessimistic concurrency control, such as that used in systems + with :term:`locks `, blocks any potentially + conflicting operations even if they may not conflict. + Optimistic concurrency control, the approach + used by :ref:`WiredTiger `, delays + checking until after a conflict may have occurred, ending and + retrying one of the operations in any :term:`write + conflict`. + + connection storm + A scenario where a driver attempts to open more connections to a + deployment than that deployment can handle. When requests for new + connections fail, the driver requests to establish even more + connections in response to the deployment slowing down or failing + to open new connections. These continuous requests can overload + the deployment and lead to outages. config database - An internal database that holds the metadata associated with a - :term:`sharded cluster`. Applications and administrators should - not modify the ``config`` database in the course of normal - operation. See :doc:`/reference/config-database`. + An internal database with metadata for a :term:`sharded cluster`. + Typically, you don't modify the ``config`` database. For more + information about the ``config`` database, see + :doc:`/reference/config-database`. config server A :binary:`~bin.mongod` instance that stores all the metadata @@ -259,7 +272,7 @@ Glossary See :ref:`sharding-config-server`. connection pool - A cache of database connections maintained by the driver. These + A cache of database connections maintained by the driver. The cached connections are re-used when connections to the database are required, instead of opening new connections. @@ -276,31 +289,30 @@ Glossary Read, Update, and Delete. See :ref:`crud`. CSV - A text-based data format consisting of comma-separated values. - This format is commonly used to exchange data between relational - databases since the format is well-suited to tabular data. You can + A text data format with comma-separated values. + CSV files can be used to exchange data between relational + databases because CSV files have tabular data. You can import CSV files using :binary:`~bin.mongoimport`. cursor A pointer to the result set of a :term:`query`. Clients can iterate through a cursor to retrieve results. By default, cursors not opened within a session automatically timeout after 10 - minutes of inactivity. Cursors opened under a session close with + minutes of inactivity. Cursors opened in a session close with the end or timeout of the session. See :ref:`read-operations-cursors`. Customer Master Key - A key that is used to encrypt your :term:`Data Encryption Key`. - The customer master key should be hosted in a remote key + A key that encrypts your :term:`Data Encryption Key`. + The customer master key must be hosted in a remote key provider. daemon - The conventional name for a background, non-interactive - process. + A background, non-interactive process. data directory - The file-system location where the :binary:`~bin.mongod` stores data - files. The :setting:`~storage.dbPath` option specifies the data directory. + The file system location where :binary:`~bin.mongod` stores data + files. :setting:`~storage.dbPath` specifies the data directory. Data Encryption Key A key you use to encrypt the fields in your MongoDB @@ -324,9 +336,9 @@ Glossary :doc:`/data-center-awareness`. database - A physical container for :term:`collections `. - Each database gets its own set of files on the file - system. A single MongoDB server typically has multiple + A container for :term:`collections `. + Each database has a set of files in the file + system. One MongoDB server typically has multiple databases. database command @@ -352,12 +364,12 @@ Glossary delayed member A :term:`replica set` member that cannot become primary and applies operations at a specified delay. The delay is useful for - protecting data from human error (i.e. unintentionally deleted + protecting data from human error (unintentionally deleted databases) or updates that have unforeseen effects on the production database. See :ref:`replica-set-delayed-members`. DEK - Abbreviation of Data Encryption Key, see + Data Encryption Key. For more details, see :term:`Data Encryption Key`. document @@ -379,21 +391,20 @@ Glossary driver A client library for interacting with MongoDB in a particular - language. See :driver:`driver `. + computer language. See :driver:`driver `. durable - A write operation is durable when it will persist across a - shutdown (or crash) and restart of one or more server processes. - For a single :binary:`~bin.mongod` server, a write operation is - considered durable when it has been written to the server's - :term:`journal` file. For a :doc:`replica set - `, a write operation is - considered durable once the write operation is durable on a - majority of voting nodes; i.e. written to a majority of voting - nodes' journals. + A write operation is durable when it persists after a shutdown (or + crash) and restart of one or more server processes. For a single + :binary:`~bin.mongod` server, a write operation is considered + durable when it has been written to the server's :term:`journal` + file. For a :doc:`replica set `, a write operation + is considered durable after the write operation achieves + durability on a majority of voting nodes and written to a majority + of voting nodes' journals. election - The process by which members of a :term:`replica set` select a + The process where members of a :term:`replica set` select a :term:`primary` on startup and in the event of a failure. See :ref:`replica-set-elections`. @@ -408,20 +419,20 @@ Glossary where the number of seconds or milliseconds since this point is counted. envelope encryption - An encryption practice where data is encrypted using a - :term:`Data Encryption Key` and the data encryption key is + An encryption procedure where data is encrypted using a + :term:`Data Encryption Key` and the data encryption key is encrypted by another key called the :term:`Customer Master Key`. - Encrypted keys are stored within a MongoDB collection referred to - as the KeyVault as :term:`BSON` documents. + The encrypted keys are stored as :term:`BSON` documents in a + MongoDB collection called the KeyVault. eventual consistency A property of a distributed system that allows changes to the system to propagate gradually. In a database system, this means - that readable members are not required to reflect the latest - writes at all times. + that readable members aren't required to have the latest + updates. expression - In the context of an :term:`aggregation pipeline`, expressions are + In an :term:`aggregation pipeline`, expressions are the stateless transformations that operate on the data that passes through a :term:`pipeline`. See :ref:`aggregation-pipeline`. @@ -436,19 +447,21 @@ Glossary databases. See :ref:`document-structure`. field path - Path to a field in the document. To specify a field path, use a + Path to a field in a document. To specify a field path, use a string that prefixes the field name with a dollar sign (``$``). firewall - A system level networking filter that restricts access based on, - among other things, IP address. Firewalls form a part of an - effective network security strategy. See - :ref:`security-firewalls`. + A system level network filter that restricts access based on + IP addresses and other parameters. Firewalls are part of a + secure network. See :ref:`security-firewalls`. fsync - A system call that flushes all dirty, in-memory pages to - disk. MongoDB calls ``fsync()`` on its database files at least - every 60 seconds. See :dbcommand:`fsync`. + A system call that flushes all dirty, in-memory pages to storage. + As applications write data, MongoDB records the data in the + storage layer and then writes the data to disk within the + ``syncPeriodSecs`` interval, which is 60 seconds by default. Run + ``fsync`` if you want to flush writes to disk ahead of that + interval. For details, see :dbcommand:`fsync`. geohash A geohash value is a binary representation of the location on a @@ -467,25 +480,25 @@ Glossary GridFS A convention for storing large files in a MongoDB database. All of - the official MongoDB drivers support this convention, as does the + the official MongoDB drivers support the GridFS convention, as does the :binary:`~bin.mongofiles` program. See :doc:`/core/gridfs`. hashed shard key - A special type of :term:`shard key` that uses a hash of the value + A type of :term:`shard key` that uses a hash of the value in the shard key field to distribute documents among members of the :term:`sharded cluster`. See :ref:`index-type-hashed`. health manager A health manager runs health checks on a :term:`health manager facet` at a specified :ref:`intensity level - `. Health manager checks run at + `. The health manager checks are run at specified time intervals. A health manager can be configured to move a failing :ref:`mongos ` out of a cluster - automatically. + automatically. health manager facet - A specific set of features and functionality that a :term:`health - manager` can be configured to run health checks against. For + A set of features that a :term:`health + manager` can be configured to run health checks for. For example, you can configure a health manager to monitor and manage DNS or LDAP cluster health issues automatically. See :ref:`health-managers-facets` for details. @@ -497,33 +510,33 @@ Glossary high availability High availability indicates a system designed for durability, - redundancy, and automatic failover such that the applications - supported by the system can operate continuously and without - downtime for a long period of time. MongoDB + redundancy, and automatic failover. Applications + supported by the system can operate without + downtime for a long time period. MongoDB :ref:`replica sets ` support - high availability when deployed according to our documented + high availability when deployed according to the :ref:`best practices `. For guidance on replica set deployment architecture, see :ref:`replica-set-architecture`. idempotent - The quality of an operation to produce the same result given the - same input, whether run once or run multiple times. + An operation produces the same result with the + same input when run multiple times. index A data structure that optimizes queries. See :doc:`/indexes`. index bounds The range of index values that MongoDB searches when using an - index to fulfill a query. To learn more, see + index to run a query. To learn more, see :ref:`multikey-index-bounds`. init script - A simple shell script used by a Linux platform's + A shell script used by a Linux platform's :term:`init system` to start, restart, or stop a :term:`daemon` - process. If you installed MongoDB via a package manager, an init - script has been provided for your system as part of the + process. If you installed MongoDB using a package manager, an init + script is provided for your system as part of the installation. See the respective :ref:`Installation Guide ` for your operating system. @@ -533,12 +546,11 @@ Glossary after the kernel starts, and manages all other processes on the system. The init system uses an :term:`init script` to start, restart, or stop a :term:`daemon` process, such as - :binary:`~bin.mongod` or :binary:`~bin.mongos`. Recent versions of - Linux tend to use the **systemd** init system, which uses the - ``systemctl`` command, while older versions tend to use the - **System V** init system, which uses the ``service`` command. - See the respective Installation Guide for - your operating system. + :binary:`~bin.mongod` or :binary:`~bin.mongos`. Recent Linux + versions typically use the **systemd** init system and the + ``systemctl`` command. Older Linux versions typically use the + **System V** init system and the ``service`` command. See + the Installation Guide for your operating system. initial sync The :term:`replica set` operation that replicates data from an @@ -546,45 +558,43 @@ Glossary :ref:`replica-set-initial-sync`. intent lock - A :term:`lock` on a resource that indicates that the holder - of the lock will read (intent shared) or write (intent + A :term:`lock` on a resource that indicates the lock holder + will read from (intent shared) or write to (intent exclusive) the resource using :term:`concurrency control` at a finer granularity than that of the resource with the intent lock. Intent locks allow concurrent readers and writers of a - resource. See :ref:`faq-concurrency-locking`. + resource. See :ref:`faq-concurrency-locking`. In-Use Encryption - Encryption that secures data while being transmitted, stored, and + Encryption that secures data when transmitted, stored, and processed, and enables supported queries on that encrypted data. MongoDB provides two approaches to In-Use Encryption: :ref:`{+qe+} ` and :ref:`{+csfle+} `. IPv6 - A revision to the IP (Internet Protocol) standard that - provides a significantly larger address space to more effectively - support the number of hosts on the contemporary Internet. + A revision to the IP (Internet Protocol) standard with a + large address space to support Internet hosts. ISODate The international date format used by :binary:`~bin.mongosh` - to display dates. The format is: ``YYYY-MM-DD HH:MM.SS.millis``. + to display dates. The format is ``YYYY-MM-DD HH:MM.SS.millis``. indexed sort - A sort in which an index provides the sorted result. Sort operations that + A sort where an index provides the sorted result. Sort operations that use an index often have better performance than a :term:`blocking sort`. See :ref:`Use Indexed to Sort Query Results ` for more information. interrupt point - A point in an operation's lifecycle when it can - safely abort. MongoDB only terminates an operation + A point in an operation when it can + safely end. MongoDB only ends an operation at designated interrupt points. See :doc:`/tutorial/terminate-running-operations`. JavaScript - A popular scripting language originally designed for web - browsers. :mongosh:`mongosh `, the legacy - :binary:`mongo ` shell, and certain server-side + A scripting language. :mongosh:`mongosh `, the legacy + :binary:`mongo ` shell, and certain server functions use a JavaScript interpreter. See :doc:`/core/server-side-javascript` for more information. @@ -598,7 +608,7 @@ Glossary See :doc:`/core/journaling/`. JSON - JavaScript Object Notation. A human-readable, plain text format + JavaScript Object Notation. A plain text format for expressing structured data with support in many programming languages. For more information, see ``_. Certain MongoDB tools render an approximation of MongoDB @@ -611,30 +621,35 @@ Glossary ``_. JSONP - :term:`JSON` with Padding. Refers to a method of injecting JSON + :term:`JSON` with padding. Refers to a method of injecting JSON into applications. **Presents potential security concerns**. + jumbo chunk + A :term:`chunk` that grows beyond the :ref:`specified chunk size + ` and cannot split into smaller chunks. For + more details, see :ref:`jumbo-chunks`. + key material The random string of bits used by an encryption algorithm to encrypt and decrypt data. Key Vault Collection - A MongoDB collection used to store the encrypted + A MongoDB collection that stores the encrypted :term:`Data Encryption Keys ` as :term:`BSON` documents. least privilege - An authorization policy that gives a user only the amount of access - that is essential to that user's work and no more. + An authorization policy that grants a user only the access + that is essential to that user's work. legacy coordinate pairs - The format used for :term:`geospatial` data prior to MongoDB + The format used for :term:`geospatial` data before MongoDB version 2.4. This format stores geospatial data as points on a - planar coordinate system (e.g. ``[ x, y ]``). See + planar coordinate system (for example, ``[ x, y ]``). See :doc:`/geospatial-queries`. LineString - A LineString is defined by an array of two or more positions. A + A LineString is an array of two or more positions. A closed LineString with four or more positions is called a LinearRing, as described in the GeoJSON LineString specification: ``_. To use a @@ -643,11 +658,16 @@ Glossary lock MongoDB uses locks to ensure that :doc:`concurrency ` - does not affect correctness. MongoDB uses :term:`read locks + does not affect correctness. MongoDB uses :term:`read locks `, :term:`write locks ` and :term:`intent locks `. For more information, see :ref:`faq-concurrency-locking`. + log files + Contain server events, such as incoming connections, commands run, + and issues encountered. For more details, see + :ref:`log-messages-ref`. + LVM Logical volume manager. LVM is a program that abstracts disk images from physical devices and provides a number of raw disk @@ -656,26 +676,29 @@ Glossary :ref:`lvm-backup-and-restore`. mapping type - A Structure in programming languages that associate keys with - values, where keys may nest other pairs of keys and values - (e.g. dictionaries, hashes, maps, and associative arrays). + A structure in programming languages that associate keys with + values. Keys may contain embedded pairs of keys and values + (for example, dictionaries, hashes, maps, and associative arrays). The properties of these structures depend on the language - specification and implementation. Generally the order of keys in + specification and implementation. Typically, the order of keys in mapping types is arbitrary and not guaranteed. map-reduce - A data processing and aggregation paradigm consisting of a "map" - phase that selects data and a "reduce" phase that transforms the + An aggregation process that has a "map" + phase that selects the data and a "reduce" phase that transforms the data. In MongoDB, you can run arbitrary aggregations over data - using map-reduce. For map-reduce implementation, see + using map-reduce. For the map-reduce implementation, see :doc:`/core/map-reduce`. For all approaches to aggregation, see :ref:`aggregation`. md5 - A hashing algorithm used to efficiently provide - reproducible unique strings to identify and :term:`checksum` - data. MongoDB uses md5 to identify chunks of data for - :term:`GridFS`. See :doc:`/reference/command/filemd5`. + A hashing algorithm that calculates a :term:`checksum` for the + supplied data. The algorithm returns a unique value + to identify the data. MongoDB uses md5 to identify chunks of data + for :term:`GridFS`. See :doc:`/reference/command/filemd5`. + + mean + Average of a set of numbers. median In a dataset, the median is the percentile value where 50% of the @@ -697,6 +720,9 @@ Glossary :binary:`~bin.mongofiles` tool provides an option to specify a MIME type to describe a file inserted into :term:`GridFS` storage. + mode + Number that occurs most frequently in a set of numbers. + mongo The legacy MongoDB shell. The :binary:`~bin.mongo` process starts the legacy shell as a :term:`daemon` connected to either a @@ -710,15 +736,15 @@ Glossary mongod The MongoDB database server. The :binary:`~bin.mongod` process starts the MongoDB server as a :term:`daemon`. The MongoDB server - manages data requests and formats and manages background - operations. See :doc:`/reference/program/mongod`. + manages data requests and background operations. See + :doc:`/reference/program/mongod`. mongos The MongoDB sharded cluster query router. The :binary:`~bin.mongos` process starts the MongoDB router as a :term:`daemon`. The MongoDB router acts as an interface between an application and a MongoDB :term:`sharded cluster` and - handles all routing and load balancing across the cluster. See + handles all routing and load balancing across the cluster. See :doc:`/reference/program/mongos`. mongosh @@ -730,14 +756,13 @@ Glossary :binary:`~bin.mongo` as the preferred shell. namespace - The canonical name for a collection or index in MongoDB. - The namespace is a combination of the database name and - the name of the collection or index, like so: - ``[database-name].[collection-or-index-name]``. All documents + A namespace is a combination of the database name and + the name of the collection or index: + ``.``. All documents belong to a namespace. See :ref:`faq-dev-namespace`. natural order - The order in which the database refers to documents on disk. This is the + The order that the database stores documents on disk. Natural order is the default sort order. See :operator:`$natural` and :ref:`return-natural-order`. @@ -746,14 +771,16 @@ Glossary partitions such that nodes in one partition cannot communicate with the nodes in the other partition. - Sometimes, partitions are partial or asymmetric. An example of a - partial partition would be a division of the nodes of a network + Sometimes, partitions are partial or asymmetric. An example + partial partition is the a division of the nodes of a network into three sets, where members of the first set cannot - communicate with members of the second set, and vice versa, but - all nodes can communicate with members of the third set. In an + communicate with members of the second set, and the reverse, but + all nodes can communicate with members of the third set. + + In an asymmetric partition, communication may be possible only when it originates with certain nodes. For example, nodes on one side of - the partition can communicate to the other side only if they + the partition can communicate with the other side only if they originate the communications channel. node @@ -769,9 +796,9 @@ Glossary See :term:`natural order`. ObjectId - A special 12-byte :term:`BSON` type that guarantees uniqueness - within the :term:`collection`. The ObjectId is generated based on - timestamp, machine ID, process ID, and a process-local incremental + A 12-byte :term:`BSON` type that is unique + within a :term:`collection`. The ObjectId is generated using the + timestamp, computer ID, process ID, and a local process incremental counter. MongoDB uses ObjectId values as the default values for :term:`_id` fields. @@ -797,10 +824,10 @@ Glossary See :doc:`/core/replica-set-oplog`. oplog hole - A temporary gap in the oplog due to oplog writes not occurring in + A temporary gap in the oplog because the oplog writes aren't in sequence. Replica set :ref:`primaries ` apply oplog entries in parallel as a batch operation. As a result, - temporary gaps in the oplog can occur from entries that are not + temporary gaps in the oplog can occur from entries that aren't yet written from a batch. oplog window @@ -825,9 +852,9 @@ Glossary orphaned document In a sharded cluster, orphaned documents are those documents on a - shard that also exist in chunks on other shards as a result of - failed migrations or incomplete migration cleanup due to abnormal - shutdown. + shard that also exist in chunks on other shards. This is caused by + a failed migration or an incomplete migration cleanup because of + an atypical shutdown. Starting in MongoDB 4.4, orphaned documents are cleaned up automatically after a chunk migration completes. You no longer @@ -835,7 +862,7 @@ Glossary documents. orphaned cursor - A cursor that is not properly closed or iterated over + A cursor that is not correctly closed or iterated over in your application code. Orphaned cursors can cause performance issues in your MongoDB deployment. @@ -845,8 +872,8 @@ Glossary ``0``. See :doc:`/core/replica-set-priority-0-member`. percentile - In a dataset, a given percentile is a value where that percentage - of the data falls at or below that value. For details, see + In a dataset, a percentile is a value where that percentage + of the data is at or below the specified value. For details, see :ref:`percentile-calculation-considerations`. PID @@ -862,7 +889,7 @@ Glossary the input of another. pipeline - A series of operations in an :term:`aggregation` process. + A series of operations in an :term:`aggregation`. See :ref:`aggregation-pipeline`. Point @@ -888,10 +915,10 @@ Glossary :ref:`db.collection.watch-change-streams-pre-and-post-images-example`. powerOf2Sizes - A per-collection setting that changes and normalizes the way - MongoDB allocates space for each :term:`document`, in an effort to - maximize storage reuse and to reduce fragmentation. This is the - default for :ref:`TTL Collections `. See + A setting for each collection that allocates space for each + :term:`document` to maximize storage reuse and reduce + fragmentation. ``powerOf2Sizes`` is the default for :ref:`TTL + Collections `. To change collection settings, see :dbcommand:`collMod`. prefix compression @@ -919,13 +946,13 @@ Glossary :ref:`replica-set-primary-member`. primary key - A record's unique immutable identifier. In an :term:`RDBMS`, the primary + A record's unique immutable identifier. In :term:`RDBMS` software, the primary key is typically an integer stored in each row's ``id`` field. - In MongoDB, the :term:`_id` field holds a document's primary - key which is usually a BSON :term:`ObjectId`. + In MongoDB, the :term:`_id` field stores a document's primary + key, which is typically a BSON :term:`ObjectId`. primary shard - The :term:`shard` that holds all the un-sharded collections. See + The :term:`shard` that stores all the unsharded collections. See :ref:`primary-shard`. priority @@ -939,23 +966,23 @@ Glossary :ref:`privilege `. projection - A document given to a :term:`query` that specifies which fields - MongoDB returns in the result set. See :ref:`projection`. For a - list of projection operators, see + A document supplied to a :term:`query` that specifies the fields + MongoDB returns in the result set. For more information about projections, + see :ref:`projection` and :doc:`/reference/operator/projection`. query - A read request. MongoDB uses a :term:`JSON`-like query language - that includes a variety of :term:`query operators ` with + A read request. MongoDB uses a :term:`JSON` form of query language + that includes :term:`query operators ` with names that begin with a ``$`` character. In - :binary:`~bin.mongosh`, you can issue queries using the + :binary:`~bin.mongosh`, you can run queries using the :method:`db.collection.find()` and :method:`db.collection.findOne()` methods. See :ref:`read-operations-queries`. query framework A combination of the :term:`query optimizer` and query execution engine - used to process an operation. + that processes an operation. query operator A keyword beginning with ``$`` in a query. For example, @@ -965,19 +992,23 @@ Glossary query optimizer A process that generates query plans. For each query, the optimizer generates a plan that matches the query to the index - that will return results as efficiently as possible. The + that returns the results as efficiently as possible. The optimizer reuses the query plan each time the query runs. If a collection changes significantly, the optimizer creates a new query plan. See :ref:`read-operations-query-optimization`. + query plan + Most efficient execution plan chosen by the query planner. For + more details, see :ref:`query-plans-query-optimization`. + query shape A combination of query predicate, sort, projection, and :ref:`collation `. The query shape allows MongoDB to identify logically equivalent queries and analyze their performance. For the query predicate, only the structure of the predicate, - including the field names, are significant; the values in the - query predicate are insignificant. As such, a query predicate ``{ + including the field names, are significant. The values in the + query predicate are insignificant. Therefore, a query predicate ``{ type: 'food' }`` is equivalent to the query predicate ``{ type: 'utensil' }`` for a query shape. @@ -1013,19 +1044,14 @@ Glossary RDBMS Relational Database Management System. A database management - system based on the relational model, typically using - :term:`SQL` as the query language. + system based on the relational model, typically using :term:`SQL` + as the query language. recovering A :term:`replica set` member status indicating that a member - is not ready to begin normal activities of a secondary or primary. + is not ready to begin activities of a secondary or primary. Recovering members are unavailable for reads. - replica pairs - The precursor to the MongoDB :term:`replica sets `. - - .. deprecated:: 1.6 - replica set A cluster of MongoDB servers that implements replication and automated failover. MongoDB's recommended @@ -1033,20 +1059,20 @@ Glossary replication A feature allowing multiple database servers to share the same - data, thereby ensuring redundancy and facilitating load balancing. - See :doc:`/replication`. + data. Replication ensures data redundancy and enables load + balancing. See :doc:`/replication`. replication lag - The length of time between the last operation in the + The time period between the last operation in the :term:`primary's ` :term:`oplog` and the last operation - applied to a particular :term:`secondary`. In general, you want to - keep replication lag as small as possible. See :ref:`Replication + applied to a particular :term:`secondary`. You typically want + replication lag as short as possible. See :ref:`Replication Lag `. resident memory The subset of an application's memory currently stored in physical RAM. Resident memory is a subset of :term:`virtual memory`, - which includes memory mapped to physical RAM and to disk. + which includes memory mapped to physical RAM and to storage. resource A database, collection, set of collections, or cluster. A @@ -1060,19 +1086,19 @@ Glossary :doc:`/security`. rollback - A process that reverts writes operations to ensure the consistency + A process that reverts write operations to ensure the consistency of all replica set members. See :ref:`replica-set-rollback`. secondary A :term:`replica set` member that replicates the contents of the - master database. Secondary members may handle read requests, but - only the :term:`primary` members can handle write operations. See + master database. Secondary members may run read requests, but + only the :term:`primary` members can run write operations. See :ref:`replica-set-secondary-members`. secondary index A database :term:`index` that improves query performance by minimizing the amount of work that the query engine must perform - to fulfill a query. See :doc:`/indexes`. + to run a query. See :doc:`/indexes`. secondary member See :term:`secondary`. Also known as a secondary node. @@ -1082,7 +1108,8 @@ Glossary :binary:`~bin.mongosh`) for initial discovery of the replica set configuration. Seed lists can be provided as a list of ``host:port`` pairs (see :ref:`connections-standard-connection-string-format` - or via DNS entries (see :ref:`connections-dns-seedlist`). + or through DNS entries.) For more information, + see :ref:`connections-dns-seedlist`. set name The arbitrary name given to a replica set. All members of a @@ -1090,10 +1117,11 @@ Glossary :setting:`~replication.replSetName` setting or the :option:`--replSet ` option. shard - A single :binary:`~bin.mongod` instance or :term:`replica set` that - stores some portion of a :term:`sharded cluster's ` total data set. In production, all shards should be - replica sets. See :doc:`/core/sharded-cluster-shards`. + A single :binary:`~bin.mongod` instance or :term:`replica set` + that stores part of a :term:`sharded cluster's ` + total data set. Typically, in a production deployment, ensure all + shards are part of replica sets. See + :doc:`/core/sharded-cluster-shards`. shard key The field MongoDB uses to distribute documents among members of a @@ -1111,22 +1139,22 @@ Glossary Sharding enables horizontal scaling. See :doc:`/sharding`. shell helper - A method in ``mongosh`` that provides a more concise + A method in ``mongosh`` that has a concise syntax for a :doc:`database command `. Shell helpers - improve the general interactive experience. See + improve the interactive experience. See :doc:`/reference/method`. single-master replication A :term:`replication` topology where only a single database instance accepts writes. Single-master replication ensures - consistency and is the replication topology employed by MongoDB. + consistency and is the replication topology used by MongoDB. See :doc:`/core/replica-set-primary`. snapshot .. include:: /includes/snapshot-definition.rst snappy - A compression/decompression library designed to balance + A compression/decompression library to balance efficient computation requirements with reasonable compression rates. Snappy is the default compression library for MongoDB's use of :ref:`WiredTiger @@ -1140,26 +1168,18 @@ Glossary cluster`. See :doc:`/core/sharding-data-partitioning`. SQL - Structured Query Language (SQL) is a common special-purpose - programming language used for interaction with a relational - database, including access control, insertions, - updates, queries, and deletions. There are some similar - elements in the basic SQL syntax supported by different database - vendors, but most implementations have their own dialects, data - types, and interpretations of proposed SQL standards. Complex - SQL is generally not directly portable between major - :term:`RDBMS` products. ``SQL`` is often used as - metonym for relational databases. + Structured Query Language (SQL) is used for interaction with + relational databases. SSD - Solid State Disk. A high-performance disk drive that uses solid - state electronics for persistence, as opposed to the rotating platters - and movable read/write heads used by traditional mechanical hard drives. + Solid State Disk. High-performance storage that uses solid + state electronics for persistence instead of rotating platters + and movable read/write heads used by mechanical hard drives. standalone - An instance of :binary:`~bin.mongod` that is running as a single - server and not as part of a :term:`replica set`. To convert a - standalone into a replica set, see + An instance of :binary:`~bin.mongod` that runs as a single server + and not as part of a :term:`replica set`. To convert it to a + replica set, see :doc:`/tutorial/convert-standalone-to-replica-set`. stash collection @@ -1178,14 +1198,14 @@ Glossary Subject Alternative Name Subject Alternative Name (SAN) is an extension of the X.509 certificate which allows an array of values such as IP addresses - and domain names that specify which resources a single security + and domain names that specify the resources a single security certificate may secure. strict consistency A property of a distributed system requiring that all members - always reflect the latest changes to the system. In a database + contain the latest changes to the system. In a database system, this means that any system that can provide data must - reflect the latest writes at all times. + contain the latest writes. sync The :term:`replica set` operation where members replicate data @@ -1203,13 +1223,10 @@ Glossary tag A label applied to a replica set member and used by clients to issue data-center-aware operations. For more information - on using tags with replica sets, see the following - sections of this manual: :ref:`replica-set-read-preference-tag-sets`. - - .. versionchanged:: 3.4 + on using tags with replica sets, see :ref:`replica-set-read-preference-tag-sets`. - In MongoDB 3.4, sharded cluster :term:`zones ` replace - :term:`tags `. + In MongoDB 3.4, sharded cluster :term:`zones ` replace + :term:`tags `. tag set A document containing zero or more :term:`tags `. @@ -1230,11 +1247,12 @@ Glossary :doc:`/core/timeseries-collections`. topology - The state of a deployment of MongoDB instances, including - the type of deployment (i.e. standalone, replica set, or sharded - cluster) as well as the availability of servers, and the role of - each server (i.e. :term:`primary`, :term:`secondary`, - :term:`config server`, or :binary:`~bin.mongos`.) + The state of a deployment of MongoDB instances. Includes: + + - Type of deployment (standalone, replica set, or sharded cluster). + - Availability of servers. + - Role of each server (:term:`primary`, :term:`secondary`, + :term:`config server`, or :binary:`~bin.mongos`). transaction Group of read or write operations. For details, see @@ -1250,11 +1268,11 @@ Glossary TSV A text-based data format consisting of tab-separated values. This format is commonly used to exchange data between relational - databases, since the format is well-suited to tabular data. You can + databases because the format is suited to tabular data. You can import TSV files using :binary:`~bin.mongoimport`. TTL - Stands for "time to live" and represents an expiration time or + Time-to-live (TTL) is an expiration time or period for a given piece of information to remain in a cache or other temporary storage before the system deletes it or ages it out. MongoDB has a TTL collection feature. See @@ -1267,7 +1285,7 @@ Glossary arrays. unique index - An index that enforces uniqueness for a particular field across + An index that enforces uniqueness for a particular field in a single collection. See :ref:`index-type-unique`. unordered query plan @@ -1276,13 +1294,16 @@ Glossary See :ref:`read-operations-query-optimization`. upsert - An option for update operations; e.g. + An option for update operations. For example: :method:`db.collection.updateOne()`, - :method:`db.collection.findAndModify()`. If set to true, the - update operation will either update the document(s) matched by - the specified query or if no documents match, insert a new - document. The new document will have the fields indicated in the - operation. See :ref:`upsert-parameter`. + :method:`db.collection.findAndModify()`. If upsert is ``true``, + the update operation either: + + - updates the document(s) matched by the query. + - or if no documents match, inserts a new document. The new + document has the field values specified in the update operation. + + For more information about upserts, see :ref:`upsert-parameter`. virtual memory An application's working memory, typically residing on both @@ -1310,11 +1331,11 @@ Glossary specified number of members. See :doc:`/reference/write-concern`. write conflict - A situation in which two concurrent operations, at least - one of which is a write, attempt to use a resource in a way - that would violate constraints imposed by a storage engine - using optimistic :term:`concurrency control`. MongoDB will - transparently abort and retry one of the conflicting operations. + A situation where two concurrent operations, at least one of which + is a write, try to use a resource that violates the + constraints for a storage engine that uses optimistic + :term:`concurrency control`. MongoDB automatically ends and + retries one of the conflicting write operations. write lock An exclusive :term:`lock` on a resource such as a collection @@ -1324,9 +1345,9 @@ Glossary locks, see :doc:`/faq/concurrency`. writeBacks - The process within the sharding system that ensures that writes - issued to a :term:`shard` that *is not* responsible for the - relevant chunk get applied to the proper shard. For related + The process in the sharding system that ensures writes + sent to a :term:`shard` that *is not* responsible for the + relevant chunk are applied to the correct shard. For more information, see :ref:`faq-writebacklisten` and :ref:`server-status-writebacksqueued`. @@ -1348,9 +1369,9 @@ Glossary zone A grouping of documents based on ranges of :term:`shard key` values for a given sharded collection. Each shard in the sharded cluster can - associate with one or more zones. In a balanced cluster, MongoDB - directs reads and writes covered by a zone only to those shards - inside the zone. See the :ref:`zone-sharding` manual page for more + be in one or more zones. In a balanced cluster, MongoDB + directs reads and writes for a zone only to those shards + inside that zone. See the :ref:`zone-sharding` manual page for more information. Zones supersede functionality described by :term:`tags ` in MongoDB 3.2. diff --git a/source/reference/limits.txt b/source/reference/limits.txt index b2e5ae0f302..67a4545510c 100644 --- a/source/reference/limits.txt +++ b/source/reference/limits.txt @@ -902,8 +902,6 @@ Operations - .. include:: /includes/extracts/views-unsupported-mapReduce.rst - - .. include:: /includes/extracts/views-unsupported-geoNear.rst - .. limit:: Projection Restrictions .. versionadded:: 4.4 diff --git a/source/reference/log-messages.txt b/source/reference/log-messages.txt index e9712f6cb20..4e42e24c31e 100644 --- a/source/reference/log-messages.txt +++ b/source/reference/log-messages.txt @@ -1264,7 +1264,7 @@ following returns only the slow operations that took above .. code-block:: bash - jq '. | select(.attr.durationMillis>=2000)' /var/log/mongodb/mongod.log + jq 'select(.attr.durationMillis>=2000)' /var/log/mongodb/mongod.log Consult the `jq documentation `_ for more information on the ``jq`` filters shown in this example. @@ -1285,14 +1285,14 @@ The following example prints only the log messages of .. code-block:: bash - jq '. | select(.c=="REPL")' /var/log/mongodb/mongod.log + jq 'select(.c=="REPL")' /var/log/mongodb/mongod.log The following example prints all log messages *except* those of :ref:`component ` type **REPL**: .. code-block:: bash - jq '. | select(.c!="REPL")' /var/log/mongodb/mongod.log + jq 'select(.c!="REPL")' /var/log/mongodb/mongod.log The following example print log messages of :ref:`component ` type **REPL** *or* @@ -1300,7 +1300,7 @@ The following example print log messages of .. code-block:: bash - jq '. | select( .c as $c | ["REPL", "STORAGE"] | index($c) )' /var/log/mongodb/mongod.log + jq 'select( .c as $c | ["REPL", "STORAGE"] | index($c) )' /var/log/mongodb/mongod.log Consult the `jq documentation `_ for more information on the ``jq`` filters shown in this example. @@ -1329,7 +1329,7 @@ following ``jq`` syntax: .. code-block:: bash - jq '. | select( .id as $id | [22943, 22944] | index($id) )' /var/log/mongodb/mongod.log + jq 'select( .id as $id | [22943, 22944] | index($id) )' /var/log/mongodb/mongod.log Consult the `jq documentation `_ for more information on the ``jq`` filters shown in this example. @@ -1345,7 +1345,7 @@ the following returns all log entries that occurred on April 15th, 2020: .. code-block:: bash - jq '. | select(.t["$date"] >= "2020-04-15T00:00:00.000" and .t["$date"] <= "2020-04-15T23:59:59.999")' /var/log/mongodb/mongod.log + jq 'select(.t["$date"] >= "2020-04-15T00:00:00.000" and .t["$date"] <= "2020-04-15T23:59:59.999")' /var/log/mongodb/mongod.log Note that this syntax includes the full timestamp, including milliseconds but excluding the timezone offset. @@ -1357,7 +1357,7 @@ limit results to the month of May, 2020: .. code-block:: bash - jq '. | select(.t["$date"] >= "2020-05-01T00:00:00.000" and .t["$date"] <= "2020-05-31T23:59:59.999" and .attr.remote)' /var/log/mongodb/mongod.log + jq 'select(.t["$date"] >= "2020-05-01T00:00:00.000" and .t["$date"] <= "2020-05-31T23:59:59.999" and .attr.remote)' /var/log/mongodb/mongod.log Consult the `jq documentation `_ for more information on the ``jq`` filters shown in this example. diff --git a/source/reference/method/Mongo.startSession.txt b/source/reference/method/Mongo.startSession.txt index 47749ed2ac2..827b970e09e 100644 --- a/source/reference/method/Mongo.startSession.txt +++ b/source/reference/method/Mongo.startSession.txt @@ -93,6 +93,19 @@ Definition :method:`Session.getOptions().setWriteConcern() `. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Examples -------- diff --git a/source/reference/method/Session.abortTransaction.txt b/source/reference/method/Session.abortTransaction.txt index 16b00d97262..1ffd923b9e1 100644 --- a/source/reference/method/Session.abortTransaction.txt +++ b/source/reference/method/Session.abortTransaction.txt @@ -29,6 +29,19 @@ Definition .. include:: /includes/fact-mongosh-shell-method-alt +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/method/Session.commitTransaction.txt b/source/reference/method/Session.commitTransaction.txt index 79aa83efe6f..936e7485bf8 100644 --- a/source/reference/method/Session.commitTransaction.txt +++ b/source/reference/method/Session.commitTransaction.txt @@ -26,6 +26,21 @@ Definition .. include:: /includes/fact-mongosh-shell-method-alt + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/Session.withTransaction.txt b/source/reference/method/Session.withTransaction.txt index bfb730f80a2..2b4e80cb4a9 100644 --- a/source/reference/method/Session.withTransaction.txt +++ b/source/reference/method/Session.withTransaction.txt @@ -34,6 +34,18 @@ Definition .. |dbcommand| replace:: :dbcommand:`commitTransaction` command .. include:: /includes/fact-mongosh-shell-method-alt +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Behavior -------- diff --git a/source/reference/method/db.auth.txt b/source/reference/method/db.auth.txt index 49ecd86e812..d6c29785044 100644 --- a/source/reference/method/db.auth.txt +++ b/source/reference/method/db.auth.txt @@ -26,6 +26,21 @@ Definition .. include:: /includes/extracts/4.4-changes-passwordPrompt.rst + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------ diff --git a/source/reference/method/db.checkMetadataConsistency.txt b/source/reference/method/db.checkMetadataConsistency.txt index 0c6e00e2794..85f9f7c6d31 100644 --- a/source/reference/method/db.checkMetadataConsistency.txt +++ b/source/reference/method/db.checkMetadataConsistency.txt @@ -39,6 +39,18 @@ Definition which contains a document for each inconsistency found in the sharding metadata. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------- diff --git a/source/reference/method/db.collection.analyzeShardKey.txt b/source/reference/method/db.collection.analyzeShardKey.txt index a3dfe684f06..dc6202009f3 100644 --- a/source/reference/method/db.collection.analyzeShardKey.txt +++ b/source/reference/method/db.collection.analyzeShardKey.txt @@ -22,6 +22,20 @@ Definition can use :dbcommand:`configureQueryAnalyzer` to configure query sampling on a collection. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/method/db.collection.bulkWrite.txt b/source/reference/method/db.collection.bulkWrite.txt index b1a8e0994da..6cadf85547f 100644 --- a/source/reference/method/db.collection.bulkWrite.txt +++ b/source/reference/method/db.collection.bulkWrite.txt @@ -31,8 +31,6 @@ Definition - An array containing an ``_id`` for each successfully inserted or upserted documents. -.. include:: /includes/bulkWrite-introduction.rst - Compatibility ------------- @@ -44,9 +42,8 @@ Compatibility You can't perform :ref:`bulk write ` operations in the :ref:`Atlas UI `. - To insert multiple documents, you must insert an array of documents. - To learn more, see :atlas:`Create, View, Update, and Delete Documents - ` in the Atlas documentation. + To insert multiple documents, you must insert an array of documents. + To learn more, see :ref:`atlas-ui-docs` in the Atlas documentation. Syntax ------ diff --git a/source/reference/method/db.collection.checkMetadataConsistency.txt b/source/reference/method/db.collection.checkMetadataConsistency.txt index ce09fd1dba0..6d301f73afd 100644 --- a/source/reference/method/db.collection.checkMetadataConsistency.txt +++ b/source/reference/method/db.collection.checkMetadataConsistency.txt @@ -35,6 +35,20 @@ Definition the sharding metadata. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ------- diff --git a/source/reference/method/db.collection.compactStructuredEncryptionData.txt b/source/reference/method/db.collection.compactStructuredEncryptionData.txt index 90e4158e91d..a6c719aa7db 100644 --- a/source/reference/method/db.collection.compactStructuredEncryptionData.txt +++ b/source/reference/method/db.collection.compactStructuredEncryptionData.txt @@ -25,3 +25,17 @@ db.collection.compactStructuredEncryptionData() only works on connections that have :ref:`automatic encryption ` enabled. + + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.collection.configureQueryAnalyzer.txt b/source/reference/method/db.collection.configureQueryAnalyzer.txt index e0ec6038e52..dc3213309e7 100644 --- a/source/reference/method/db.collection.configureQueryAnalyzer.txt +++ b/source/reference/method/db.collection.configureQueryAnalyzer.txt @@ -29,6 +29,19 @@ Definition details, see :ref:``. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/method/db.collection.createIndexes.txt b/source/reference/method/db.collection.createIndexes.txt index a8187168217..cfd3bc264f5 100644 --- a/source/reference/method/db.collection.createIndexes.txt +++ b/source/reference/method/db.collection.createIndexes.txt @@ -95,6 +95,20 @@ Definition .. versionadded:: 4.4 + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + .. _createIndexes-method-options: Options diff --git a/source/reference/method/db.collection.createSearchIndex.txt b/source/reference/method/db.collection.createSearchIndex.txt index 3bb5b49cc7a..f38852b3ebd 100644 --- a/source/reference/method/db.collection.createSearchIndex.txt +++ b/source/reference/method/db.collection.createSearchIndex.txt @@ -4,6 +4,9 @@ db.collection.createSearchIndex() .. default-domain:: mongodb +.. meta:: + :keywords: atlas search + .. contents:: On this page :local: :backlinks: none @@ -17,7 +20,7 @@ Definition .. versionadded:: 7.0 (*Also available starting in 6.0.7*) -.. |fts-index| replace:: :atlas:`{+fts+} index ` +.. |fts-index| replace:: :atlas:`{+fts+} index ` or :atlas:`Vector Search index ` .. include:: /includes/atlas-search-commands/command-descriptions/createSearchIndex-method.rst @@ -36,6 +39,7 @@ Command syntax: db..createSearchIndex( , + , { } @@ -65,12 +69,20 @@ Command Fields If you do not specify a ``name``, the index is named ``default``. + * - ``type`` + - string + - Optional + - .. include:: /includes/atlas-search-commands/field-definitions/type.rst + * - ``definition`` - document - Required - - Document describing the index to create. For details on - ``definition`` syntax, see - :ref:`search-index-definition-create-mongosh`. + - Document describing the index to create. The ``definition`` syntax + depends on whether you create a standard search index or a Vector + Search index. For the ``definition`` syntax, see: + + - :ref:`search-index-definition-create-mongosh` + - :ref:`vector-search-index-definition-create-mongosh` .. _search-index-definition-create-mongosh: @@ -79,6 +91,13 @@ Search Index Definition Syntax .. include:: /includes/atlas-search-commands/search-index-definition-fields.rst +.. _vector-search-index-definition-create-mongosh: + +Vector Search Index Definition Syntax +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/atlas-search-commands/vector-search-index-definition-fields.rst + Behavior -------- @@ -166,3 +185,38 @@ with the name ``default`` on the ``food`` collection: } } ) + +Create a Vector Search Index +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following example creates a vector search index named +``vectorSearchIndex01`` on the ``movies`` collection: + +.. code-block:: javascript + + db.movies.createSearchIndex( + "vectorSearchIndex01", + "vectorSearch", + { + fields: [ + { + type: "vector", + numDimensions: 1, + path: "genre", + similarity: "cosine" + } + ] + } + ) + +The vector search index contains one dimension and indexes the ``genre`` +field. + +Learn More +---------- + +- :pipeline:`$vectorSearch` aggregation stage + +- :ref:`Tutorial: Semantic Search ` + +- :atlas:`Atlas Vector Search Changelog ` diff --git a/source/reference/method/db.collection.dataSize.txt b/source/reference/method/db.collection.dataSize.txt index 8ecac35b0d6..1111f8346ab 100644 --- a/source/reference/method/db.collection.dataSize.txt +++ b/source/reference/method/db.collection.dataSize.txt @@ -27,3 +27,16 @@ db.collection.dataSize() .. |operations| replace:: :dbcommand:`collStats` + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.collection.dropIndexes.txt b/source/reference/method/db.collection.dropIndexes.txt index 2b65616a7e5..52f42f2ae5f 100644 --- a/source/reference/method/db.collection.dropIndexes.txt +++ b/source/reference/method/db.collection.dropIndexes.txt @@ -104,7 +104,21 @@ Definition **To drop multiple indexes** (Available starting in MongoDB 4.2), specify an array of the index names. - + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.collection.explain.txt b/source/reference/method/db.collection.explain.txt index ee8c9e1d764..003544e6a2b 100644 --- a/source/reference/method/db.collection.explain.txt +++ b/source/reference/method/db.collection.explain.txt @@ -88,6 +88,19 @@ Description +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + .. _explain-method-behavior: diff --git a/source/reference/method/db.collection.find.txt b/source/reference/method/db.collection.find.txt index 29855bd4595..03d8d5bd28b 100644 --- a/source/reference/method/db.collection.find.txt +++ b/source/reference/method/db.collection.find.txt @@ -35,9 +35,15 @@ Definition Compatibility ------------- -.. |operator-method| replace:: ``db.collection.find()`` +.. |command| replace:: method -.. include:: /includes/fact-compatibility.rst +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ @@ -373,6 +379,8 @@ field does not exists: For a list of the query operators, see :ref:`query-selectors`. +.. include:: /includes/use-expr-in-find-query.rst + .. _query-subdocuments: .. _query-embedded-documents: diff --git a/source/reference/method/db.collection.findAndModify.txt b/source/reference/method/db.collection.findAndModify.txt index 33b46af0210..fde4406b0d8 100644 --- a/source/reference/method/db.collection.findAndModify.txt +++ b/source/reference/method/db.collection.findAndModify.txt @@ -26,17 +26,23 @@ Definition .. |dbcommand| replace:: :dbcommand:`findAndModify` command .. include:: /includes/fact-mongosh-shell-method-alt.rst - Modifies and returns a single document. By default, the returned + Updates and returns a single document. By default, the returned document does not include the modifications made on the update. To return the document with the modifications made on the update, use - the ``new`` option. + the ``new`` option. Compatibility ------------- -.. |operator-method| replace:: ``db.collection.findAndModify()`` +.. |command| replace:: method -.. include:: /includes/fact-compatibility.rst +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ @@ -95,8 +101,8 @@ parameter with the following embedded document fields: ``sort`` - document - - Optional. Determines which document the operation modifies if the query selects - multiple documents. |operation| modifies + - Optional. Determines which document the operation updates if the query + selects multiple documents. |operation| updates the first document in the sort order specified by this argument. Starting in MongoDB 4.2 (and 4.0.12+, 3.6.14+, and 3.4.23+), the operation @@ -126,14 +132,14 @@ parameter with the following embedded document fields: - Starting in MongoDB 4.2, if passed an :ref:`aggregation pipeline ` ``[ , , ... ]``, - |operation| modifies the document per the pipeline. The pipeline + |operation| updates the document per the pipeline. The pipeline can consist of the following stages: .. include:: /includes/list-update-agg-stages.rst * - ``new`` - boolean - - Optional. When ``true``, returns the modified document rather than the original. + - Optional. When ``true``, returns the updated document rather than the original. The default is ``false``. * - ``fields`` @@ -281,7 +287,7 @@ Shard Key Modification .. include:: /includes/shard-key-modification-warning.rst -To modify the **existing** shard key value with +To update the **existing** shard key value with :method:`db.collection.findAndModify()`: - You :red:`must` run on a :binary:`~bin.mongos`. Do :red:`not` @@ -399,7 +405,7 @@ This method performs the following actions: "score" : 5 } - To return the modified document, add the ``new:true`` option to + To return the updated document, add the ``new:true`` option to the method. If no document matched the ``query`` condition, the method @@ -568,7 +574,7 @@ Create a collection ``students`` with the following documents: { "_id" : 3, "grades" : [ 95, 110, 100 ] } ] ) -To modify all elements that are greater than or equal to ``100`` in the +To update all elements that are greater than or equal to ``100`` in the ``grades`` array, use the filtered positional operator :update:`$[\]` with the ``arrayFilters`` option in the :method:`db.collection.findAndModify` method: @@ -624,7 +630,7 @@ Create a collection ``students2`` with the following documents: The following operation finds a document where the ``_id`` field equals ``1`` and uses the filtered positional operator :update:`$[\]` with -the ``arrayFilters`` to modify the ``mean`` for all elements in the +the ``arrayFilters`` to update the ``mean`` for all elements in the ``grades`` array where the grade is greater than or equal to ``85``. .. code-block:: javascript diff --git a/source/reference/method/db.collection.getShardDistribution.txt b/source/reference/method/db.collection.getShardDistribution.txt index b761e097295..09d1238dee4 100644 --- a/source/reference/method/db.collection.getShardDistribution.txt +++ b/source/reference/method/db.collection.getShardDistribution.txt @@ -22,20 +22,15 @@ Definition Prints the data distribution statistics for a :term:`sharded ` collection. - .. tip:: - - Before running the method, use the :dbcommand:`flushRouterConfig` - command to refresh the cached routing table to avoid returning - stale distribution information for the collection. Once - refreshed, run :method:`db.collection.getShardDistribution()` for - the collection you wish to build the index. +Syntax +------ - For example: +The :method:`~db.collection.getShardDistribution()` method has the following +form: - .. code-block:: javascript +.. code-block:: javascript - db.adminCommand( { flushRouterConfig: "test.myShardedCollection" } ); - db.getSiblingDB("test").myShardedCollection.getShardDistribution(); + db.collection.getShardDistribution() .. seealso:: diff --git a/source/reference/method/db.collection.getShardVersion.txt b/source/reference/method/db.collection.getShardVersion.txt index ad13d694986..8e9a913dee6 100644 --- a/source/reference/method/db.collection.getShardVersion.txt +++ b/source/reference/method/db.collection.getShardVersion.txt @@ -21,3 +21,16 @@ db.collection.getShardVersion() with a sharded cluster. For internal and diagnostic use only. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.collection.reIndex.txt b/source/reference/method/db.collection.reIndex.txt index 3344a954a5c..d166a5be06a 100644 --- a/source/reference/method/db.collection.reIndex.txt +++ b/source/reference/method/db.collection.reIndex.txt @@ -35,6 +35,21 @@ Definition - For most users, the :method:`db.collection.reIndex()` command is unnecessary. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.collection.renameCollection.txt b/source/reference/method/db.collection.renameCollection.txt index cd78faf04b9..c024aa6b017 100644 --- a/source/reference/method/db.collection.renameCollection.txt +++ b/source/reference/method/db.collection.renameCollection.txt @@ -50,6 +50,20 @@ Definition the collection. The default value is ``false``. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.collection.update.txt b/source/reference/method/db.collection.update.txt index 64039a146d3..96d2d10b160 100644 --- a/source/reference/method/db.collection.update.txt +++ b/source/reference/method/db.collection.update.txt @@ -39,8 +39,8 @@ Compatibility .. include:: /includes/fact-compatibility.rst To learn how to update documents hosted in {+atlas+} by -using the Atlas UI, see :atlas:`Create, View, Update, and Delete Documents -`. +using the Atlas UI, see :ref:``. + Syntax ------ diff --git a/source/reference/method/db.collection.updateMany.txt b/source/reference/method/db.collection.updateMany.txt index b37e053e2c4..4de88ca0cab 100644 --- a/source/reference/method/db.collection.updateMany.txt +++ b/source/reference/method/db.collection.updateMany.txt @@ -185,6 +185,8 @@ The method returns a document that contains: - ``upsertedId`` containing the ``_id`` for the upserted document +- ``upsertedCount`` containing the number of upserted documents + Access Control -------------- @@ -589,7 +591,8 @@ The operation returns: "acknowledged" : true, "matchedCount" : 0, "modifiedCount" : 0, - "upsertedId" : ObjectId("56fc5dcb39ee682bdc609b02") + "upsertedId" : ObjectId("56fc5dcb39ee682bdc609b02"), + "upsertedCount": 1 } The collection now contains the following documents: diff --git a/source/reference/method/db.collection.updateOne.txt b/source/reference/method/db.collection.updateOne.txt index 57712b3f152..f0fdbbddb97 100644 --- a/source/reference/method/db.collection.updateOne.txt +++ b/source/reference/method/db.collection.updateOne.txt @@ -180,7 +180,9 @@ The method returns a document that contains: - ``modifiedCount`` containing the number of modified documents -- ``upsertedId`` containing the ``_id`` for the upserted document. +- ``upsertedId`` containing the ``_id`` for the upserted document + +- ``upsertedCount`` containing the number of upserted documents - A boolean ``acknowledged`` as ``true`` if the operation ran with :term:`write concern` or ``false`` if write concern was disabled @@ -659,7 +661,8 @@ Since ``upsert:true`` the document is ``inserted`` based on the ``filter`` and "acknowledged" : true, "matchedCount" : 0, "modifiedCount" : 0, - "upsertedId" : 4 + "upsertedId" : 4, + "upsertedCount": 1 } The collection now contains the following documents: diff --git a/source/reference/method/db.collection.validate.txt b/source/reference/method/db.collection.validate.txt index b3cfa36d3b3..7161bc421a2 100644 --- a/source/reference/method/db.collection.validate.txt +++ b/source/reference/method/db.collection.validate.txt @@ -34,6 +34,20 @@ Description The :method:`db.collection.validate()` method is a wrapper around the :dbcommand:`validate` command. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/method/db.createUser.txt b/source/reference/method/db.createUser.txt index 7b4bbc51077..c6c29fbd835 100644 --- a/source/reference/method/db.createUser.txt +++ b/source/reference/method/db.createUser.txt @@ -187,7 +187,18 @@ Definition The client digests the password and passes the digested password to the server. +Compatibility +------------- +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst Roles ~~~~~ diff --git a/source/reference/method/db.currentOp.txt b/source/reference/method/db.currentOp.txt index dd7c10f2611..db5a4849ed8 100644 --- a/source/reference/method/db.currentOp.txt +++ b/source/reference/method/db.currentOp.txt @@ -29,6 +29,21 @@ Definition .. include:: /includes/5.0-fact-currentop.rst + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Syntax ~~~~~~ diff --git a/source/reference/method/db.dropAllRoles.txt b/source/reference/method/db.dropAllRoles.txt index bcccb8de08f..4b3c05b9c89 100644 --- a/source/reference/method/db.dropAllRoles.txt +++ b/source/reference/method/db.dropAllRoles.txt @@ -49,6 +49,21 @@ Definition .. |local-cmd-name| replace:: :method:`db.dropAllRoles()` + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.dropDatabase.txt b/source/reference/method/db.dropDatabase.txt index bba3c4b4d6d..b4f53431d77 100644 --- a/source/reference/method/db.dropDatabase.txt +++ b/source/reference/method/db.dropDatabase.txt @@ -21,12 +21,19 @@ Definition Removes the current database, deleting the associated data files. + Compatibility ------------- -.. |operator-method| replace:: ``db.dropDatabase()`` +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst -.. include:: /includes/fact-compatibility.rst +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/method/db.fsyncLock.txt b/source/reference/method/db.fsyncLock.txt index 4b0603f7f6c..27ecf10879c 100644 --- a/source/reference/method/db.fsyncLock.txt +++ b/source/reference/method/db.fsyncLock.txt @@ -4,6 +4,10 @@ db.fsyncLock() .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -24,8 +28,8 @@ Definition .. versionadded:: 7.1 - When the ``db.fsyncLock`` method runs on :program:`mongos`, it applies an - fsync lock to each shard in the cluster. + .. |fsync| replace:: ``db.fsyncLock()`` method + .. include:: /includes/fsync-mongos .. |dbcommand| replace:: :dbcommand:`fsync` command .. include:: /includes/fact-mongosh-shell-method-alt.rst diff --git a/source/reference/method/db.fsyncUnlock.txt b/source/reference/method/db.fsyncUnlock.txt index d04c336e323..b99abaa36d7 100644 --- a/source/reference/method/db.fsyncUnlock.txt +++ b/source/reference/method/db.fsyncUnlock.txt @@ -4,6 +4,10 @@ db.fsyncUnlock() .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + .. contents:: On this page :local: :backlinks: none @@ -23,8 +27,8 @@ Definition .. versionadded:: 7.1 - When the ``db.fsyncUnlock()`` method runs on :program:`mongos`, it - reduces the lock count for each shard in the cluster. + .. |fsync| replace:: ``db.fsyncUnlock()`` method + .. include:: /includes/fsync-mongos .. |dbcommand| replace:: :dbcommand:`fsyncUnlock` command .. include:: /includes/fact-mongosh-shell-method-alt.rst @@ -58,6 +62,21 @@ Definition The :method:`db.fsyncUnlock()` method wraps the :dbcommand:`fsyncUnlock` command. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Compatibility with WiredTiger ----------------------------- diff --git a/source/reference/method/db.grantPrivilegesToRole.txt b/source/reference/method/db.grantPrivilegesToRole.txt index 53f0a09de3c..7d90dc86515 100644 --- a/source/reference/method/db.grantPrivilegesToRole.txt +++ b/source/reference/method/db.grantPrivilegesToRole.txt @@ -64,6 +64,21 @@ Definition .. |local-cmd-name| replace:: :method:`db.grantPrivilegesToRole()` + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.grantRolesToRole.txt b/source/reference/method/db.grantRolesToRole.txt index fec555f9a58..54b0b780fcf 100644 --- a/source/reference/method/db.grantRolesToRole.txt +++ b/source/reference/method/db.grantRolesToRole.txt @@ -50,6 +50,21 @@ Definition .. |local-cmd-name| replace:: :method:`db.grantRolesToRole()` .. include:: /includes/fact-roles-array-contents.rst + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.hello.txt b/source/reference/method/db.hello.txt index 9b5aaf817c7..63d758be41e 100644 --- a/source/reference/method/db.hello.txt +++ b/source/reference/method/db.hello.txt @@ -26,3 +26,16 @@ db.hello() :dbcommand:`hello` for the complete documentation of the output of :method:`db.hello()`. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.hostInfo.txt b/source/reference/method/db.hostInfo.txt index cc0a4a3501c..512c8296f5b 100644 --- a/source/reference/method/db.hostInfo.txt +++ b/source/reference/method/db.hostInfo.txt @@ -54,3 +54,17 @@ db.hostInfo() See :data:`hostInfo` for full documentation of the output of :method:`db.hostInfo()`. + + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.killOp.txt b/source/reference/method/db.killOp.txt index 5bb3fb600b7..ba5cc7e7db7 100644 --- a/source/reference/method/db.killOp.txt +++ b/source/reference/method/db.killOp.txt @@ -46,6 +46,19 @@ Description .. include:: /includes/extracts/warning-terminating-ops-method.rst +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free-and-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Sharded Cluster --------------- diff --git a/source/reference/method/db.listCommands.txt b/source/reference/method/db.listCommands.txt index 79796232c0f..4f78b1b02c9 100644 --- a/source/reference/method/db.listCommands.txt +++ b/source/reference/method/db.listCommands.txt @@ -15,3 +15,17 @@ db.listCommands() Provides a list of all database commands. See the :doc:`/reference/command` document for a more extensive index of these options. + + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.logout.txt b/source/reference/method/db.logout.txt index cf6844ffb8c..9a010e59568 100644 --- a/source/reference/method/db.logout.txt +++ b/source/reference/method/db.logout.txt @@ -39,3 +39,17 @@ db.logout() :method:`db.logout()` function provides a wrapper around the database command :dbcommand:`logout`. + + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.revokePrivilegesFromRole.txt b/source/reference/method/db.revokePrivilegesFromRole.txt index 1dd088d0462..839c8b776d4 100644 --- a/source/reference/method/db.revokePrivilegesFromRole.txt +++ b/source/reference/method/db.revokePrivilegesFromRole.txt @@ -58,6 +58,20 @@ Definition - .. include:: /includes/fact-write-concern-spec-link.rst +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.revokeRolesFromRole.txt b/source/reference/method/db.revokeRolesFromRole.txt index 56529aad112..e1ea51c9d00 100644 --- a/source/reference/method/db.revokeRolesFromRole.txt +++ b/source/reference/method/db.revokeRolesFromRole.txt @@ -49,6 +49,21 @@ Definition .. |local-cmd-name| replace:: :method:`db.revokeRolesFromRole()` .. include:: /includes/fact-roles-array-contents.rst + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Behavior -------- diff --git a/source/reference/method/db.rotateCertificates.txt b/source/reference/method/db.rotateCertificates.txt index e52161e96c2..63f1c31f1d8 100644 --- a/source/reference/method/db.rotateCertificates.txt +++ b/source/reference/method/db.rotateCertificates.txt @@ -50,6 +50,21 @@ Definition The :method:`db.rotateCertificates()` method wraps the :dbcommand:`rotateCertificates` command. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Output ------ diff --git a/source/reference/method/db.serverBuildInfo.txt b/source/reference/method/db.serverBuildInfo.txt index 759326176a3..f3ade46b704 100644 --- a/source/reference/method/db.serverBuildInfo.txt +++ b/source/reference/method/db.serverBuildInfo.txt @@ -16,3 +16,17 @@ db.serverBuildInfo() command`. :dbcommand:`buildInfo` returns a document that contains an overview of parameters used to compile this :binary:`~bin.mongod` instance. + + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst diff --git a/source/reference/method/db.serverStatus.txt b/source/reference/method/db.serverStatus.txt index 179e810119e..596e67f6468 100644 --- a/source/reference/method/db.serverStatus.txt +++ b/source/reference/method/db.serverStatus.txt @@ -18,6 +18,20 @@ db.serverStatus() This command provides a wrapper around the database command :dbcommand:`serverStatus`. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/method/db.stats.txt b/source/reference/method/db.stats.txt index bfd332ac6e1..e85b16a9225 100644 --- a/source/reference/method/db.stats.txt +++ b/source/reference/method/db.stats.txt @@ -20,6 +20,20 @@ Description The :method:`db.stats()` method is a wrapper around the :dbcommand:`dbStats` database command. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-limited-free.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Parameters ~~~~~~~~~~ diff --git a/source/reference/method/db.updateRole.txt b/source/reference/method/db.updateRole.txt index ac61c516f9b..5161567918a 100644 --- a/source/reference/method/db.updateRole.txt +++ b/source/reference/method/db.updateRole.txt @@ -139,6 +139,21 @@ Definition The :method:`db.updateRole()` method wraps the :dbcommand:`updateRole` command. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-free-or-m10.rst + +.. include:: /includes/fact-environments-onprem-only.rst + + Roles ~~~~~ diff --git a/source/reference/method/sh.abortReshardCollection.txt b/source/reference/method/sh.abortReshardCollection.txt index 7df9c11fa6b..fd3313fdc18 100644 --- a/source/reference/method/sh.abortReshardCollection.txt +++ b/source/reference/method/sh.abortReshardCollection.txt @@ -32,6 +32,18 @@ Definition .. |dbcommand| replace:: :dbcommand:`abortReshardCollection` command .. include:: /includes/fact-mongosh-shell-method-alt.rst +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------ diff --git a/source/reference/method/sh.addShard.txt b/source/reference/method/sh.addShard.txt index 797b128ff49..7d867c88fb5 100644 --- a/source/reference/method/sh.addShard.txt +++ b/source/reference/method/sh.addShard.txt @@ -67,6 +67,19 @@ Definition .. include:: /includes/extracts/mongos-operations-wc-add-shard.rst +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Considerations -------------- diff --git a/source/reference/method/sh.addShardToZone.txt b/source/reference/method/sh.addShardToZone.txt index 0041a1acbb8..3130329cf18 100644 --- a/source/reference/method/sh.addShardToZone.txt +++ b/source/reference/method/sh.addShardToZone.txt @@ -57,6 +57,20 @@ Definition Only issue :method:`sh.addShardToZone()` when connected to a :binary:`~bin.mongos` instance. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/method/sh.balancerCollectionStatus.txt b/source/reference/method/sh.balancerCollectionStatus.txt index f206bef0d39..ab5b9cc39a3 100644 --- a/source/reference/method/sh.balancerCollectionStatus.txt +++ b/source/reference/method/sh.balancerCollectionStatus.txt @@ -26,6 +26,20 @@ Definition .. |dbcommand| replace:: :dbcommand:`balancerCollectionStatus` command .. include:: /includes/fact-mongosh-shell-method-alt.rst + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/method/sh.checkMetadataConsistency.txt b/source/reference/method/sh.checkMetadataConsistency.txt index 9445cd7d22d..4f8c8873aff 100644 --- a/source/reference/method/sh.checkMetadataConsistency.txt +++ b/source/reference/method/sh.checkMetadataConsistency.txt @@ -36,6 +36,18 @@ Definition which contains a document for each inconsistency found in the sharding metadata. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst Syntax ------- diff --git a/source/reference/method/sh.enableSharding.txt b/source/reference/method/sh.enableSharding.txt index dc09af7aa02..dc273305a48 100644 --- a/source/reference/method/sh.enableSharding.txt +++ b/source/reference/method/sh.enableSharding.txt @@ -31,6 +31,19 @@ Definition .. include:: /includes/fact-mongosh-shell-method-alt.rst +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Syntax ------ diff --git a/source/reference/method/sh.moveChunk.txt b/source/reference/method/sh.moveChunk.txt index cc6900b6717..38e5914da11 100644 --- a/source/reference/method/sh.moveChunk.txt +++ b/source/reference/method/sh.moveChunk.txt @@ -91,6 +91,20 @@ Definition - :doc:`/sharding`, and :ref:`chunk migration ` + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Example ------- diff --git a/source/reference/method/sh.removeShardFromZone.txt b/source/reference/method/sh.removeShardFromZone.txt index 8cf0b9db1bb..37472d0eea7 100644 --- a/source/reference/method/sh.removeShardFromZone.txt +++ b/source/reference/method/sh.removeShardFromZone.txt @@ -56,6 +56,19 @@ Definition Only issue :method:`sh.removeShardFromZone()` when connected to a :binary:`~bin.mongos` instance. +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/method/sh.reshardCollection.txt b/source/reference/method/sh.reshardCollection.txt index 5836e332941..56fa7276ea6 100644 --- a/source/reference/method/sh.reshardCollection.txt +++ b/source/reference/method/sh.reshardCollection.txt @@ -111,6 +111,20 @@ The ``options`` field supports the following fields: ... ] + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-all.rst + +.. include:: /includes/fact-environments-onprem-only.rst + .. _resharding-process-details: Resharding Process diff --git a/source/reference/method/sh.updateZoneKeyRange.txt b/source/reference/method/sh.updateZoneKeyRange.txt index fa56c582da1..499db065474 100644 --- a/source/reference/method/sh.updateZoneKeyRange.txt +++ b/source/reference/method/sh.updateZoneKeyRange.txt @@ -88,6 +88,20 @@ Definition Only issue :method:`sh.updateZoneKeyRange()` when connected to a :binary:`~bin.mongos` instance. + +Compatibility +------------- + +.. |command| replace:: method + +This method is available in deployments hosted in the following environments: + +.. include:: /includes/fact-environments-atlas-only.rst + +.. include:: /includes/fact-environments-atlas-support-no-serverless.rst + +.. include:: /includes/fact-environments-onprem-only.rst + Behavior -------- diff --git a/source/reference/operator/aggregation/changeStreamSplitLargeEvent.txt b/source/reference/operator/aggregation/changeStreamSplitLargeEvent.txt index fa371de5bd5..c7fe2503c19 100644 --- a/source/reference/operator/aggregation/changeStreamSplitLargeEvent.txt +++ b/source/reference/operator/aggregation/changeStreamSplitLargeEvent.txt @@ -13,12 +13,12 @@ Definition .. pipeline:: $changeStreamSplitLargeEvent -.. versionadded:: 7.0 (*Also available in 6.0.9*) +*New in MongoDB 7.0 (and 6.0.9).* If a :ref:`change stream ` has large events that exceed 16 MB, a ``BSONObjectTooLarge`` exception is returned. Starting in -MongoDB 6.0.9, you can use a ``$changeStreamSplitLargeEvent`` stage to -split the events into smaller fragments. +MongoDB 7.0 (and 6.0.9), you can use a ``$changeStreamSplitLargeEvent`` +stage to split the events into smaller fragments. You should only use ``$changeStreamSplitLargeEvent`` when strictly necessary. For example, if your application requires full document pre- diff --git a/source/reference/operator/aggregation/filter.txt b/source/reference/operator/aggregation/filter.txt index 406bdfabb54..492a0e0025d 100644 --- a/source/reference/operator/aggregation/filter.txt +++ b/source/reference/operator/aggregation/filter.txt @@ -11,7 +11,7 @@ $filter (aggregation) .. contents:: On this page :local: :backlinks: none - :depth: 1 + :depth: 2 :class: singlecol Definition @@ -41,8 +41,8 @@ Syntax $filter: { input: , - cond: , as: , + cond: , limit: } } @@ -59,6 +59,13 @@ Syntax - An :ref:`expression ` that resolves to an array. + * - ``as`` + + - Optional. A name for the :doc:`variable + ` that represents each + individual element of the ``input`` array. If no name is + specified, the variable name defaults to ``this``. + * - ``cond`` - An :ref:`expression ` that resolves @@ -67,13 +74,6 @@ Syntax element of the ``input`` array individually with the variable name specified in ``as``. - * - ``as`` - - - Optional. A name for the :doc:`variable - ` that represents each - individual element of the ``input`` array. If no name is - specified, the variable name defaults to ``this``. - * - ``limit`` - Optional. A number expression that restricts the number of matching array elements that :expression:`$filter` returns. You cannot @@ -105,10 +105,7 @@ Behavior $filter: { input: [ 1, "a", 2, null, 3.1, NumberLong(4), "5" ], as: "num", - cond: { $and: [ - { $gte: [ "$$num", NumberLong("-9223372036854775807") ] }, - { $lte: [ "$$num", NumberLong("9223372036854775807") ] } - ] } + cond: { $isNumber: "$$num" } } } @@ -116,16 +113,13 @@ Behavior * - .. code-block:: javascript :copyable: false - :emphasize-lines: 9 + :emphasize-lines: 6 { $filter: { input: [ 1, "a", 2, null, 3.1, NumberLong(4), "5" ], as: "num", - cond: { $and:[ - { $gte: [ "$$num", NumberLong("-9223372036854775807") ] }, - { $lte: [ "$$num", NumberLong("9223372036854775807") ] } - ] }, + cond: { $isNumber: "$$num" }, limit: 2 } } @@ -134,17 +128,14 @@ Behavior * - .. code-block:: javascript :copyable: false - :emphasize-lines: 9 + :emphasize-lines: 6 { $filter: { input: [ 1, "a", 2, null, 3.1, NumberLong(4), "5" ], as: "num", - cond: { $and:[ - { $gte: [ "$$num", NumberLong("-9223372036854775807") ] }, - { $lte: [ "$$num", NumberLong("9223372036854775807") ] } - ] }, - limit: { $add: [ 0, 1 ]} + cond: { $isNumber: "$$num" }, + limit: { $add: [ 0, 1 ] } } } @@ -161,204 +152,255 @@ A collection ``sales`` has the following documents: { _id: 0, items: [ - { item_id: 43, quantity: 2, price: 10 }, - { item_id: 2, quantity: 1, price: 240 } + { item_id: 43, quantity: 2, price: 10, name: "pen" }, + { item_id: 2, quantity: 1, price: 240, name: "briefcase" } ] }, { _id: 1, items: [ - { item_id: 23, quantity: 3, price: 110 }, - { item_id: 103, quantity: 4, price: 5 }, - { item_id: 38, quantity: 1, price: 300 } + { item_id: 23, quantity: 3, price: 110, name: "notebook" }, + { item_id: 103, quantity: 4, price: 5, name: "pen" }, + { item_id: 38, quantity: 1, price: 300, name: "printer" } ] }, { _id: 2, items: [ - { item_id: 4, quantity: 1, price: 23 } + { item_id: 4, quantity: 1, price: 23, name: "paper" } ] } ] ) +Filter Based on Number Comparison +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The following example filters the ``items`` array to only include documents that have a ``price`` greater than or equal to ``100``: -.. code-block:: javascript - - db.sales.aggregate( [ - { - $project: { - items: { - $filter: { - input: "$items", - as: "item", - cond: { $gte: [ "$$item.price", 100 ] } +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + + db.sales.aggregate( [ + { + $project: { + items: { + $filter: { + input: "$items", + as: "item", + cond: { $gte: [ "$$item.price", 100 ] } + } } } } - } - ] ) - -The operation produces the following results: - -.. code-block:: javascript - - { - "_id" : 0, - "items" : [ - { "item_id" : 2, "quantity" : 1, "price" : 240 } + ] ) + + .. output:: + :language: javascript + + [ + { + _id: 0, + items: [ { item_id: 2, quantity: 1, price: 240, name: 'briefcase' } ] + }, + { + _id: 1, + items: [ + { item_id: 23, quantity: 3, price: 110, name: 'notebook' }, + { item_id: 38, quantity: 1, price: 300, name: 'printer' } + ] + }, + { _id: 2, items: [] } ] - } - { - "_id" : 1, - "items" : [ - { "item_id" : 23, "quantity" : 3, "price" : 110 }, - { "item_id" : 38, "quantity" : 1, "price" : 300 } - ] - } - { "_id" : 2, "items" : [ ] } -Using the ``limit`` field -~~~~~~~~~~~~~~~~~~~~~~~~~ +Use the limit Field +~~~~~~~~~~~~~~~~~~~ This example uses the ``sales`` collection from the previous example. -The example uses the ``limit`` field to specifiy the number of matching elements -returned in each ``items`` array. - -.. code-block:: javascript - :emphasize-lines: 9 - - db.sales.aggregate( [ - { - $project: { - items: { - $filter: { - input: "$items", - cond: { $gte: [ "$$item.price", 100 ] }, - as: "item", - limit: 1 +The example uses the ``limit`` field to specify the number of matching +elements returned in each ``items`` array. + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + :emphasize-lines: 9 + + db.sales.aggregate( [ + { + $project: { + items: { + $filter: { + input: "$items", + as: "item", + cond: { $gte: [ "$$item.price", 100 ] }, + limit: 1 + } } } } - } - ] ) - -The operation produces the following results: - -.. code-block:: javascript - - { - "_id" : 0, - "items" : [ - { "item_id" : 2, "quantity" : 1, "price" : 240 } - ] - } - { - "_id" : 1, - "items" : [ - { "item_id" : 23, "quantity" : 3, "price" : 110 } + ] ) + + .. output:: + :language: javascript + + [ + { + _id: 0, + items: [ { item_id: 2, quantity: 1, price: 240, name: 'briefcase' } ] + }, + { + _id: 1, + items: [ { item_id: 23, quantity: 3, price: 110, name: 'notebook' } ] + }, + { _id: 2, items: [] } ] - } - { "_id" : 2, "items" : [ ] } -``limit`` as a Numeric Expression -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +limit Greater than Possible Matches +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This example uses the ``sales`` collection from the previous example. -The following example uses a numeric expression for the ``limit`` field to -specifiy the number of matching elements returned in each ``items`` array. - -.. code-block:: javascript - :emphasize-lines: 9 - - db.sales.aggregate( [ - { - $project: { - items: { - $filter: { - input: "$items", - cond: { $lte: [ "$$item.price", 150] }, - as: "item", - limit: 2.000 +The example uses a ``limit`` field value that is larger than the +possible number of matching elements that can be returned. In this case, +``limit`` does not affect the query results and returns all documents +matching the ``$gte`` filter criteria. + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + :emphasize-lines: 9 + + db.sales.aggregate( [ + { + $project: { + items: { + $filter: { + input: "$items", + as: "item", + cond: { $gte: [ "$$item.price", 100] }, + limit: 5 + } } } } - } - ] ) - -The operation produces the following results: - -.. code-block:: javascript - - { - "_id": 0, - "items": [ - { "item_id": 43, "quantity": 2, "price": 10 } - ] - }, - { - "_id": 1, - "items": [ - { "item_id": 23, "quantity": 3, "price": 110 }, - { "item_id": 103, "quantity": 4, "price": 5 } - ] - }, - { - "_id": 2, - "items": [ - { "item_id": 4, "quantity": 1, "price": 23 } - ] - } + ] ) + + .. output:: + :language: javascript + + [ + { + _id: 0, + items: [ { item_id: 2, quantity: 1, price: 240, name: 'briefcase' } ] + }, + { + _id: 1, + items: [ + { item_id: 23, quantity: 3, price: 110, name: 'notebook' }, + { item_id: 38, quantity: 1, price: 300, name: 'printer' } + ] + }, + { _id: 2, items: [] } + ] -``limit`` Greater than Possible Matches -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Filter Based on String Equality Match +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This example uses the ``sales`` collection from the previous example. -The example uses a ``limit`` field value that is larger than the possible -number of matching elements that can be returned. +The following aggregation filters for ``items`` that have a ``name`` +value of ``pen``. -.. code-block:: javascript - :emphasize-lines: 9 +.. io-code-block:: + :copyable: true - db.sales.aggregate( [ - { - $project: { - items: { - $filter: { - input: "$items", - cond: { $gte: [ "$$item.price", 100] }, - as: "item", - limit: 5 + .. input:: + :language: javascript + + db.sales.aggregate( [ + { + $project: { + items: { + $filter: { + input: "$items", + as: "item", + cond: { $eq: [ "$$item.name", "pen"] } + } } } } - } - ] ) + ] ) + + .. output:: + :language: javascript + + [ + { + _id: 0, + items: [ { item_id: 43, quantity: 2, price: 10, name: 'pen' } ] + }, + { + _id: 1, + items: [ { item_id: 103, quantity: 4, price: 5, name: 'pen' } ] + }, + { _id: 2, items: [] } + ] -The operation produces the following results: +Filter Based on Regular Expression Match +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. code-block:: javascript +This example uses the ``sales`` collection from the previous example. - [ - { - "_id": 0, - "items": [ - { "item_id": 2, "quantity": 1, "price": 240 } - ] - }, - { - "_id": 1, - "items": [ - { "item_id": 23, "quantity": 3, "price": 110 }, - { "item_id": 38, "quantity": 1, "price": 300 } - ] - }, - { - "_id": 2, - "items": [] - } - ] +The following aggregation uses :expression:`$regexMatch` to filter for +``items`` that have a ``name`` value that starts with ``p``: + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + + db.sales.aggregate( [ + { + $project: { + items: { + $filter: { + input: "$items", + as: "item", + cond: { + $regexMatch: { input: "$$item.name", regex: /^p/ } + } + } + } + } + } + ] ) + + .. output:: + :language: javascript + + [ + { + _id: 0, + items: [ { item_id: 43, quantity: 2, price: 10, name: 'pen' } ] + }, + { + _id: 1, + items: [ + { item_id: 103, quantity: 4, price: 5, name: 'pen' }, + { item_id: 38, quantity: 1, price: 300, name: 'printer' } + ] + }, + { + _id: 2, + items: [ { item_id: 4, quantity: 1, price: 23, name: 'paper' } ] + } + ] diff --git a/source/reference/operator/aggregation/geoNear.txt b/source/reference/operator/aggregation/geoNear.txt index c16a4fa5b96..5363a788283 100644 --- a/source/reference/operator/aggregation/geoNear.txt +++ b/source/reference/operator/aggregation/geoNear.txt @@ -184,8 +184,6 @@ When using :pipeline:`$geoNear`, consider that: - .. include:: /includes/fact-geoNear-restrict-near-in-query.rst -- .. include:: /includes/extracts/views-unsupported-geoNear.rst - - Starting in version 4.2, :pipeline:`$geoNear` no longer has a default limit of 100 documents. diff --git a/source/reference/operator/aggregation/listSampledQueries.txt b/source/reference/operator/aggregation/listSampledQueries.txt index 2e6e49b760e..3648ab4cff0 100644 --- a/source/reference/operator/aggregation/listSampledQueries.txt +++ b/source/reference/operator/aggregation/listSampledQueries.txt @@ -50,7 +50,7 @@ Limitations ----------- - You cannot use ``$listSampledQueries`` on Atlas - :atlas:`multitenant ` + :atlas:`multi-tenant ` configurations. - You cannot use ``$listSampledQueries`` on standalone deployments. - You cannot use ``$listSampledQueries`` directly against a diff --git a/source/reference/operator/aggregation/lookup.txt b/source/reference/operator/aggregation/lookup.txt index b5075b6dd3f..b1ba0f4a93e 100644 --- a/source/reference/operator/aggregation/lookup.txt +++ b/source/reference/operator/aggregation/lookup.txt @@ -27,7 +27,7 @@ Definition the "joined" collection. The :pipeline:`$lookup` stage passes these reshaped documents to the next stage. - Starting in MongoDB 5.1, :pipeline:`$lookup` works across sharded + Starting in MongoDB 5.1, you can use :pipeline:`$lookup` with sharded collections. To combine elements from two different collections, use the @@ -120,19 +120,25 @@ The :pipeline:`$lookup` takes a document with these fields: already exists in the input document, the existing field is *overwritten*. -The operation would correspond to the following pseudo-SQL statement: +The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false - SELECT *, - FROM collection - WHERE IN ( - SELECT * + SELECT *, ( + SELECT ARRAY_AGG(*) FROM WHERE = - ); + ) AS + FROM collection; + +.. note:: + + The SQL statements on this page are included for comparison to the + MongoDB aggregation pipeline syntax. The SQL statements aren't + runnable. -See these examples: +For MongoDB examples, see these pages: - :ref:`lookup-single-equality-example` - :ref:`unwind-example` @@ -249,6 +255,7 @@ The :pipeline:`$lookup` stage accepts a document with these fields: The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false SELECT *, FROM collection @@ -380,6 +387,7 @@ The :pipeline:`$lookup` accepts a document with these fields: The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false SELECT *, FROM localCollection @@ -536,33 +544,36 @@ different ``$lookup`` operations. - .. _equality-match-performance: - ``$lookup`` operations that perform equality matches with a - single join typically perform better when the source collection - contains an index on the ``foreignField``. + single join perform better when the foreign collection contains + an index on the ``foreignField``. + + .. important:: - * - :ref:`Uncorrelated Subqueries` + If a supporting index on the ``foreignField`` does not + exist, a ``$lookup`` operation that performs an equality + match with a single join will likely have poor performance. - - .. _uncorrelated-subqueries-performance: + * - :ref:`Uncorrelated Subqueries ` + - .. _uncorrelated-subqueries-performance: + - ``$lookup`` operations that contain uncorrelated subqueries - typically perform better when the inner pipeline can reference - an index on the ``foreignField``. + perform better when the inner pipeline can reference an + index of the foreign collection. - MongoDB only needs to run the ``$lookup`` subquery once before caching the query because there is no relationship between the - source and foreign collections. The ``$lookup`` subquery is not - based on any value in the source collection. This behavior - improves performance for subsequent executions of this query. - + source and foreign collections. The subquery is not based on + any value in the source collection. This behavior improves + performance for subsequent executions of the ``$lookup`` + operation. * - :ref:`Correlated Subqueries ` - .. _correlated-subqueries-performance: - ``$lookup`` operations that contain correlated subqueries - typically perform better when the following conditions apply: - - - The source collection contains an index on the - ``localField``. + perform better when the following conditions apply: - The foreign collection contains an index on the ``foreignField``. @@ -681,6 +692,7 @@ The operation returns these documents: The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false SELECT *, inventory_docs FROM orders @@ -691,7 +703,7 @@ The operation corresponds to this pseudo-SQL statement: ); For more information, see -:ref:`Equality Match Performance Considerations`. +:ref:`Equality Match Performance Considerations `. .. _unwind-example: @@ -942,6 +954,7 @@ The operation returns these documents: The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false SELECT *, stockdata FROM orders @@ -1057,6 +1070,7 @@ The operation returns the following: The operation corresponds to this pseudo-SQL statement: .. code-block:: sql + :copyable: false SELECT *, holidays FROM absences diff --git a/source/reference/operator/aggregation/mod.txt b/source/reference/operator/aggregation/mod.txt index 6d18d6bfa25..b77a5aee6a9 100644 --- a/source/reference/operator/aggregation/mod.txt +++ b/source/reference/operator/aggregation/mod.txt @@ -4,6 +4,13 @@ $mod (aggregation) .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + +.. meta:: + :keywords: code example + .. contents:: On this page :local: :backlinks: none @@ -30,6 +37,23 @@ Definition ` as long as they resolve to numbers. For more information on expressions, see :ref:`aggregation-expressions`. + Starting in version 7.2, the output data type of the ``$mod`` operator is + the larger of the two input data types. + + .. note:: + + Prior to version 7.2, the value and field type of inputs determine + the ``$mod`` output type if: + + - The divisor is of data type ``double`` but has an integral + value. + + - The dividend is of data type ``int`` or ``long``. + + In this case, MongoDB converts the divisor to the dividend data + type before it performs the mod operation and the output data type + is the dividend data type. + Example ------- diff --git a/source/reference/operator/aggregation/setIsSubset.txt b/source/reference/operator/aggregation/setIsSubset.txt index ff6e8165002..6c7290faa46 100644 --- a/source/reference/operator/aggregation/setIsSubset.txt +++ b/source/reference/operator/aggregation/setIsSubset.txt @@ -103,7 +103,7 @@ The operation returns the following results: { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "rose", "orchid" ], "AisSubset" : true } { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "orchid", "rose", "orchid" ], "AisSubset" : true } - { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "rose", "blue", "jasmine" ], "AisSubset" : true } + { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "rose", "orchid", "jasmine" ], "AisSubset" : true } { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "jasmine", "rose" ], "AisSubset" : false } { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ ], "AisSubset" : false } { "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ [ "rose" ], [ "orchid" ] ], "AisSubset" : false } diff --git a/source/reference/operator/aggregation/shardedDataDistribution.txt b/source/reference/operator/aggregation/shardedDataDistribution.txt index f820818a01c..63a249be322 100644 --- a/source/reference/operator/aggregation/shardedDataDistribution.txt +++ b/source/reference/operator/aggregation/shardedDataDistribution.txt @@ -51,35 +51,51 @@ following fields: Examples -------- +Return All Sharded Data Distibution Metrics +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To return all sharded data distribution metrics, run the following: + .. code-block:: javascript - db.aggregate( [ + db.aggregate([ { $shardedDataDistribution: { } } - ] ) + ]) Example output: -.. code-block:: json - - [ - { - "ns": "test.names", - "shards": [ - { - "shardName": "shard-1", - "numOrphanedDocs": 0, - "numOwnedDocuments": 6, - "ownedSizeBytes": 366, - "orphanedSizeBytes": 0 - }, - { - "shardName": "shard-2", - "numOrphanedDocs": 0, - "numOwnedDocuments": 6, - "ownedSizeBytes": 366, - "orphanedSizeBytes": 0 - } - ] - } - ] +.. include:: /includes/shardedDataDistribution-output-example.rst + +Return Metrics for a Specific Shard +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To return sharded data distribution metrics for a specific shard, +run the following: + +.. code-block:: javascript + + db.aggregate([ + { $shardedDataDistribution: { } }, + { $match: { "shards.shardName": "" } } + ]) + +Return Metrics for a Namespace +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To return sharded data distribution data for a namespace, run the +following: + +.. code-block:: javascript + + db.aggregate([ + { $shardedDataDistribution: { } }, + { $match: { "ns": "." } } + ]) + +.. _shardedDataDistribution-no-orphaned-docs: + +Confirm No Orphaned Documents Remain +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/shardedDataDistribution-orphaned-docs.rst diff --git a/source/reference/operator/query/bitsAllClear.txt b/source/reference/operator/query/bitsAllClear.txt index 862794ae2e2..edccc53d0c8 100644 --- a/source/reference/operator/query/bitsAllClear.txt +++ b/source/reference/operator/query/bitsAllClear.txt @@ -84,13 +84,13 @@ The following query uses the :query:`$bitsAllClear` operator: .. code-block:: javascript - db.collection.find( { a: { $bitsAllClear: BinData(0, "ID==") } } ) + db.collection.find( { a: { $bitsAllClear: BinData(0, "IA==") } } ) The query: - Specifies ``0`` as the first value for :bsontype:`BinData - `, which indicates ``ID==`` is to be interpreted as - binary. The base-64 value ``ID==`` in binary is ``00100000``, which + `, which indicates ``IA==`` should be interpreted as + binary. The base-64 value ``IA==`` in binary is ``00100000``, which has ``1`` in position 5. - Uses :query:`$bitsAllClear` to return documents where the ``a`` field diff --git a/source/reference/operator/query/bitsAllSet.txt b/source/reference/operator/query/bitsAllSet.txt index a86a4ecfa05..b1f1b5431e0 100644 --- a/source/reference/operator/query/bitsAllSet.txt +++ b/source/reference/operator/query/bitsAllSet.txt @@ -81,11 +81,11 @@ BinData Bitmask The following query uses the :query:`$bitsAllSet` operator to test whether field ``a`` has bits set at positions ``4`` and ``5`` -(the binary representation of ``BinData(0, "MC==")`` is ``00110000``). +(the binary representation of ``BinData(0, "MA==")`` is ``00110000``). .. code-block:: javascript - db.collection.find( { a: { $bitsAllSet: BinData(0, "MC==") } } ) + db.collection.find( { a: { $bitsAllSet: BinData(0, "MA==") } } ) The query matches the following document: diff --git a/source/reference/operator/query/bitsAnyClear.txt b/source/reference/operator/query/bitsAnyClear.txt index c84297fad31..9f065f365db 100644 --- a/source/reference/operator/query/bitsAnyClear.txt +++ b/source/reference/operator/query/bitsAnyClear.txt @@ -83,11 +83,11 @@ BinData Bitmask ~~~~~~~~~~~~~~~ The following query uses the :query:`$bitsAnyClear` operator to test whether field ``a`` has any bits clear at positions ``4`` and ``5`` -(the binary representation of ``BinData(0, "MC==")`` is ``00110000``). +(the binary representation of ``BinData(0, "MA==")`` is ``00110000``). .. code-block:: javascript - db.collection.find( { a: { $bitsAnyClear: BinData(0, "MC==") } } ) + db.collection.find( { a: { $bitsAnyClear: BinData(0, "MA==") } } ) The query matches the following documents: diff --git a/source/reference/operator/query/bitsAnySet.txt b/source/reference/operator/query/bitsAnySet.txt index 8c62434be1f..a7d87277f5c 100644 --- a/source/reference/operator/query/bitsAnySet.txt +++ b/source/reference/operator/query/bitsAnySet.txt @@ -82,11 +82,11 @@ BinData Bitmask The following query uses the :query:`$bitsAnySet` operator to test whether field ``a`` has any bits set at positions ``4``, and ``5`` -(the binary representation of ``BinData(0, "MC==")`` is ``00110000``). +(the binary representation of ``BinData(0, "MA==")`` is ``00110000``). .. code-block:: javascript - db.collection.find( { a: { $bitsAnySet: BinData(0, "MC==") } } ) + db.collection.find( { a: { $bitsAnySet: BinData(0, "MA==") } } ) The query matches the following documents: diff --git a/source/reference/operator/query/expr.txt b/source/reference/operator/query/expr.txt index 381f4edb3c2..45cf45c33b3 100644 --- a/source/reference/operator/query/expr.txt +++ b/source/reference/operator/query/expr.txt @@ -59,34 +59,7 @@ If the :pipeline:`$match` stage is part of a :pipeline:`$lookup` stage, Examples -------- -Compare Two Fields from A Single Document -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Consider an ``monthlyBudget`` collection with the following documents: - -.. code-block:: javascript - - { "_id" : 1, "category" : "food", "budget": 400, "spent": 450 } - { "_id" : 2, "category" : "drinks", "budget": 100, "spent": 150 } - { "_id" : 3, "category" : "clothes", "budget": 100, "spent": 50 } - { "_id" : 4, "category" : "misc", "budget": 500, "spent": 300 } - { "_id" : 5, "category" : "travel", "budget": 200, "spent": 650 } - -The following operation uses :query:`$expr` to find documents -where the ``spent`` amount exceeds the ``budget``: - -.. code-block:: javascript - - db.monthlyBudget.find( { $expr: { $gt: [ "$spent" , "$budget" ] } } ) - -The operation returns the following results: - -.. code-block:: javascript - - { "_id" : 1, "category" : "food", "budget" : 400, "spent" : 450 } - { "_id" : 2, "category" : "drinks", "budget" : 100, "spent" : 150 } - { "_id" : 5, "category" : "travel", "budget" : 200, "spent" : 650 } - +.. include:: /includes/use-expr-in-find-query.rst Using ``$expr`` With Conditional Statements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/reference/operator/query/mod.txt b/source/reference/operator/query/mod.txt index f3edca8d52c..b100b084fec 100644 --- a/source/reference/operator/query/mod.txt +++ b/source/reference/operator/query/mod.txt @@ -4,6 +4,13 @@ $mod .. default-domain:: mongodb +.. facet:: + :name: genre + :values: reference + +.. meta:: + :keywords: code example + .. contents:: On this page :local: :backlinks: none @@ -26,9 +33,10 @@ $mod Behavior -------- -The ``$mod`` operator returns an error if the ``[ divisor, remainder ]`` array -contains fewer or more than two elements. For examples, see -:ref:`mod-not-enough-elements` and :ref:`mod-too-many-elements` respectively. +``$mod`` returns an error if the ``[ divisor, remainder ]`` array +doesn't contain two elements. For examples, see +:ref:`mod-not-enough-elements` and :ref:`mod-too-many-elements` +respectively. Also, starting in MongoDB 5.1 (and 5.0.4 and 4.4.10), ``$mod`` returns an error if the ``divisor`` or ``remainder`` values evaluate to: diff --git a/source/reference/operator/query/ne.txt b/source/reference/operator/query/ne.txt index a47a015b316..63e86c333b1 100644 --- a/source/reference/operator/query/ne.txt +++ b/source/reference/operator/query/ne.txt @@ -11,7 +11,7 @@ $ne .. contents:: On this page :local: :backlinks: none - :depth: 1 + :depth: 2 :class: singlecol Definition @@ -19,7 +19,7 @@ Definition .. query:: $ne - :query:`$ne` selects the documents where the value of the + ``$ne`` selects the documents where the value of the specified field is not equal to the specified value. This includes documents that do not contain the specified field. @@ -35,7 +35,7 @@ Compatibility Syntax ------ -The :query:`$ne` operator has the following form: +The ``$ne`` operator has the following form: .. code-block:: javascript @@ -44,91 +44,115 @@ The :query:`$ne` operator has the following form: Examples -------- -The following examples use the ``inventory`` collection. Create the -collection: +The following examples use the ``inventory`` collection. To create the +collection run the following :method:`insertMany() ` +command in :binary:`~bin.mongosh`: .. include:: /includes/examples-create-inventory.rst -Match Document Fields -~~~~~~~~~~~~~~~~~~~~~ +Match Document Fields That Are Not Equal +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Select all documents in the ``inventory`` collection where ``quantity`` -is not equal to ``20``: - -.. code-block:: javascript - - db.inventory.find( { quantity: { $ne: 20 } } ) - -The query will also select documents that do not have the ``quantity`` -field. - -Example output: - -.. code-block:: javascript - - { - _id: ObjectId("61ba667dfe687fce2f042420"), - item: 'nuts', - quantity: 30, - carrier: { name: 'Shipit', fee: 3 } - }, - { - _id: ObjectId("61ba667dfe687fce2f042421"), - item: 'bolts', - quantity: 50, - carrier: { name: 'Shipit', fee: 4 } - }, - { - _id: ObjectId("61ba667dfe687fce2f042422"), - item: 'washers', - quantity: 10, - carrier: { name: 'Shipit', fee: 1 } - } - -Perform an Update Based on Embedded Document Fields -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following example sets the ``price`` field based on a :query:`$ne` -comparison against a field in an embedded document. - -.. code-block:: javascript - - db.inventory.updateMany( { "carrier.fee": { $ne: 1 } }, { $set: { "price": 9.99 } } ) - -Example output: - -.. code-block:: javascript - - { - _id: ObjectId("61ba66e2fe687fce2f042423"), - item: 'nuts', - quantity: 30, - carrier: { name: 'Shipit', fee: 3 }, - price: 9.99 - }, - { - _id: ObjectId("61ba66e2fe687fce2f042424"), - item: 'bolts', - quantity: 50, - carrier: { name: 'Shipit', fee: 4 }, - price: 9.99 - }, - { - _id: ObjectId("61ba66e2fe687fce2f042425"), - item: 'washers', - quantity: 10, - carrier: { name: 'Shipit', fee: 1 } - } - -This :method:`~db.collection.updateMany()` operation searches for an -embedded document, ``carrier``, with a subfield named ``fee``. It sets -``{ price: 9.99 }`` in each document where ``fee`` has a value that -does not equal 1 or where the ``fee`` subfield does not exist. +is not equal to ``20``. This query also selects documents that do not +have the ``quantity`` field: + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + + db.inventory.find( { quantity: { $ne: 20 } } ) + + .. output:: + :language: javascript + :visible: false + + { + _id: ObjectId("61ba667dfe687fce2f042420"), + item: 'nuts', + quantity: 30, + carrier: { name: 'Shipit', fee: 3 } + }, + { + _id: ObjectId("61ba667dfe687fce2f042421"), + item: 'bolts', + quantity: 50, + carrier: { name: 'Shipit', fee: 4 } + }, + { + _id: ObjectId("61ba667dfe687fce2f042422"), + item: 'washers', + quantity: 10, + carrier: { name: 'Shipit', fee: 1 } + } + +The SQL equivalent to this query is: + +.. code-block:: sql + :copyable: false + + SELECT * FROM INVENTORY WHERE QUANTITIY != 20 + +Update Based on Not Equal Embedded Document Fields +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following example sets the ``price`` field based on a ``$ne`` +comparison against a field in an embedded document. The +:method:`~db.collection.updateMany()` operation searches for an +embedded document, ``carrier``, with a subfield named ``fee``. It uses +:update:`$set` to update the ``price`` field to ``9.99`` in each +document where ``fee`` has a value that does not equal ``1`` or +where the ``fee`` subfield does not exist: + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + + db.inventory.updateMany( + { "carrier.fee" : { $ne: 1 } }, + { $set: { "price": 9.99 } } + ) + + .. output:: + :language: javascript + :visible: false + + { + _id: ObjectId("61ba66e2fe687fce2f042423"), + item: 'nuts', + quantity: 30, + carrier: { name: 'Shipit', fee: 3 }, + price: 9.99 + }, + { + _id: ObjectId("61ba66e2fe687fce2f042424"), + item: 'bolts', + quantity: 50, + carrier: { name: 'Shipit', fee: 4 }, + price: 9.99 + }, + { + _id: ObjectId("61ba66e2fe687fce2f042425"), + item: 'washers', + quantity: 10, + carrier: { name: 'Shipit', fee: 1 } + } + +The SQL equivalent to this query is: + +.. code-block:: sql + :copyable: false + + UPDATE INVENTORY SET PRICE = '9.99' WHERE carrierfee != 1 .. include:: /includes/extracts/ne_operators_selectivity.rst -.. seealso:: - - - :method:`~db.collection.find()` - - :update:`$set` +Learn More +---------- +- :ref:`sql-to-mongodb-mapping` +- :ref:`read-operations-query-document` \ No newline at end of file diff --git a/source/reference/operator/query/regex.txt b/source/reference/operator/query/regex.txt index b58d7dd506c..14bdb7fcb1e 100644 --- a/source/reference/operator/query/regex.txt +++ b/source/reference/operator/query/regex.txt @@ -94,8 +94,8 @@ expression. - Syntax Restrictions * - ``i`` - - Case insensitivity to match upper and lower cases. - For an example, see :ref:`regex-case-insensitive`. + - Case insensitivity to match upper and lower cases. For an + example, see :ref:`regex-case-insensitive`. - * - ``m`` @@ -250,10 +250,16 @@ operation on both: Index Use ~~~~~~~~~~ +Index use and performance for ``$regex`` queries varies depending on +whether the query is case-sensitive or case-insensitive. + +Case-Sensitive Queries +`````````````````````` + .. TODO Probably should clean up a bit of the writing here -For case sensitive regular expression queries, if an index exists for -the field, then MongoDB matches the regular expression against the +For case sensitive regular expression queries, if an index exists +for the field, then MongoDB matches the regular expression against the values in the index, which can be faster than a collection scan. Further optimization can occur if the regular expression is a "prefix @@ -273,9 +279,10 @@ All of these expressions use an index if an appropriate index exists; however, ``/^a.*/``, and ``/^a.*$/`` are slower. ``/^a/`` can stop scanning after matching the prefix. -Case insensitive regular expression queries generally cannot use indexes -effectively. The ``$regex`` implementation is not collation-aware -and is unable to utilize case-insensitive indexes. +Case-Insensitive Queries +```````````````````````` + +.. include:: /includes/indexes/case-insensitive-regex-queries.rst Examples -------- diff --git a/source/reference/operator/query/text.txt b/source/reference/operator/query/text.txt index 299efaa0532..fffc501b42b 100644 --- a/source/reference/operator/query/text.txt +++ b/source/reference/operator/query/text.txt @@ -75,7 +75,10 @@ following fields: * - ``$language`` - string - - Optional. The language that determines the list of stop words for the search and + + - .. _language-field: + + Optional. The language that determines the list of stop words for the search and the rules for the stemmer and tokenizer. If not specified, the search uses the default language of the index. For supported languages, see :ref:`text-search-languages`. diff --git a/source/reference/operator/update/rename.txt b/source/reference/operator/update/rename.txt index 20d777af415..7a5cbf009fe 100644 --- a/source/reference/operator/update/rename.txt +++ b/source/reference/operator/update/rename.txt @@ -15,52 +15,79 @@ Definition .. update:: $rename - The :update:`$rename` operator updates the name of a field and has the following form: + The :update:`$rename` operator updates the name of a field. + +Syntax +------ - .. code-block:: javascript +.. code-block:: javascript - {$rename: { : , : , ... } } + { $rename: { : , : , ... } } - The new field name must differ from the existing field name. To - specify a ```` in an embedded document, use :term:`dot - notation`. +The new field name must differ from the existing field name. To +specify a ```` in an embedded document, use :term:`dot +notation`. - Consider the following example: +Consider the following example: - .. code-block:: javascript +.. code-block:: javascript - db.students.updateOne( - { _id: 1 }, - { $rename: { 'nickname': 'alias', 'cell': 'mobile' } } - ) + db.students.updateOne( + { _id: 1 }, { $rename: { 'nickname': 'alias', 'cell': 'mobile' } } + ) - This operation renames the field ``nickname`` to ``alias``, and the - field ``cell`` to ``mobile``. +The preceding operation renames the ``nickname`` field to ``alias`` and +the ``cell`` field to ``mobile`` in a document where ``_id`` is 1. Behavior -------- +When you run a ``$rename`` operation, MongoDB performs the following +actions: + +- Delete the old ```` and field with ```` from the + document (using :update:`$unset`). + +- Perform a :update:`$set` operation with ````, using the value + from ````. + +Atomicity +~~~~~~~~~ + +Each document matched by an update command is updated in an individual +operation. Update operations (like ``$rename``) only guarantee atomicity +on a single-document level. + +Field Order +~~~~~~~~~~~ + +The ``$rename`` operation might not preserve the order of the fields in +the document. + +Update Processing Order +~~~~~~~~~~~~~~~~~~~~~~~ + .. include:: /includes/fact-update-operator-processing-order.rst -The :update:`$rename` operator logically performs an :update:`$unset` -of both the old name and the new name, and then performs a -:update:`$set` operation with the new name. As such, the operation may -not preserve the order of the fields in the document; i.e. the renamed -field may move within the document. +Rename Embedded Document Fields +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``$rename`` operator can move fields into and out of embedded +documents. -If the document already has a field with the ````, the -:update:`$rename` operator removes that field and renames the specified -```` to ````. +``$rename`` does not work on embedded documents in arrays. -If the field to rename does not exist in a document, :update:`$rename` -does nothing (i.e. no operation). +Other Considerations +~~~~~~~~~~~~~~~~~~~~ -For fields in embedded documents, the :update:`$rename` operator can -rename these fields as well as move the fields in and out of embedded -documents. :update:`$rename` does not work if these fields are in array -elements. +- If the document already has a field with the ````, the + :update:`$rename` operator removes that field and renames the + specified ```` to ````. -.. include:: /includes/extracts/update-operation-empty-operand-expressions-rename.rst +- If the field to rename does not exist in a document, :update:`$rename` + does nothing. + +- .. include:: /includes/extracts/update-operation-empty-operand-expressions-rename.rst Examples -------- @@ -102,10 +129,13 @@ name of the field and the new name: .. code-block:: javascript - db.students.updateMany( {}, { $rename: { "nmae": "name" } } ) + db.students.updateMany( + { "nmae": { $ne: null } }, + { $rename: { "nmae": "name" } } + ) -This operation renames the field ``nmae`` to ``name`` for all documents -in the collection: +This operation checks for documents where the ``nmae`` field is not null +and updates those documents to rename the ``nmae`` field to ``name``: .. code-block:: javascript @@ -123,10 +153,12 @@ in the collection: "name" : { "first" : "abigail", "last" : "adams" } } - { "_id" : 3, + { + "_id" : 3, "alias" : [ "Amazing grace" ], "mobile" : "111-111-1111", - "name" : { "first" : "grace", "last" : "hopper" } } + "name" : { "first" : "grace", "last" : "hopper" } + } .. _rename-field-in-embedded-document: @@ -170,4 +202,3 @@ This operation does nothing because there is no field named ``wife``. - :method:`db.collection.updateMany()` - :method:`db.collection.findAndModify()` - diff --git a/source/reference/operator/update/set.txt b/source/reference/operator/update/set.txt index fc122353508..76e6437ed77 100644 --- a/source/reference/operator/update/set.txt +++ b/source/reference/operator/update/set.txt @@ -153,6 +153,23 @@ After updating, the document has the following values: ratings: [ { by: 'Customer007', rating: 4 } ] } +.. important:: + + The above code uses ``dot notation`` to update the ``make`` field of the + embedded ``details`` document. The code format looks similar to the following + code example, which instead *replaces the entire embedded document*, removing + all other fields in the embedded ``details`` document: + + .. code-block:: javascript + :copyable: false + + db.products.updateOne( + { _id: 100 }, + { $set: { details: + {make: "Kustom Kidz"} + } + }) + Set Elements in Arrays ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/reference/parameters.txt b/source/reference/parameters.txt index 4b6167290f0..c47e303f2a4 100644 --- a/source/reference/parameters.txt +++ b/source/reference/parameters.txt @@ -930,6 +930,32 @@ Authentication Parameters - :parameter:`ocspValidationRefreshPeriodSecs` - :parameter:`tlsOCSPStaplingTimeoutSecs` +.. parameter:: tlsUseSystemCA + + |mongod-only| + + *Type*: boolean + + *Default*: false + + Specifies whether MongoDB loads TLS certificates that are already + available to the operating system's certificate authority. + + .. important:: + + .. include:: /includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst + + You can set ``tlsUseSystemCA`` only during startup in the + :setting:`configuration file ` or with the ``--setParameter`` + option on the command line. For example, to set ``tlsUseSystemCA`` to + ``true``: + + .. code-block:: bash + + mongod --setParameter tlsUseSystemCA=true + + .. include:: /includes/extracts/ssl-facts-see-more.rst + .. parameter:: tlsWithholdClientCertificate .. versionadded:: 4.2 @@ -1137,55 +1163,6 @@ General Parameters } ) -.. parameter:: connPoolMaxShardedConnsPerHost - - |both| - - *Default*: 200 - - Sets the maximum size of the legacy connection pools for communication to the - shards. The size of a pool does not prevent the creation of - additional connections, but *does* prevent the connection pools from - retaining connections above this limit. - - .. note:: - - The parameter is separate from the connections in TaskExecutor - pools. See :parameter:`ShardingTaskExecutorPoolMaxSize`. - - Increase the :parameter:`connPoolMaxShardedConnsPerHost` value - **only** if the number of connections in a connection pool has a - high level of churn or if the total number of created connections - increase. - - You can only set :parameter:`connPoolMaxShardedConnsPerHost` during - startup in the config file or on the command line. For example: - - .. code-block:: bash - - mongos --setParameter connPoolMaxShardedConnsPerHost=250 - - -.. parameter:: connPoolMaxShardedInUseConnsPerHost - - |both| - - Sets the maximum number of in-use connections at any given time for - the legacy sharded cluster connection pools. - - By default, the parameter is unset. - - You can only set :parameter:`connPoolMaxShardedConnsPerHost` during - startup in the config file or on the command line. For example: - - .. code-block:: bash - - mongos --setParameter connPoolMaxShardedInUseConnsPerHost=100 - - .. seealso:: - - :parameter:`connPoolMaxShardedConnsPerHost` - .. parameter:: httpVerboseLogging |both| @@ -1201,25 +1178,6 @@ General Parameters mongos --setParameter httpVerboseLogging=true -.. parameter:: shardedConnPoolIdleTimeoutMinutes - - |both| - - Sets the time limit that a connection in the legacy sharded cluster - connection pool can remain idle before being closed. - - By default, the parameter is unset. - - You can only set :parameter:`shardedConnPoolIdleTimeoutMinutes` during - startup in the config file or on the command line. For example: - - .. code-block:: bash - - mongos --setParameter shardedConnPoolIdleTimeoutMinutes=10 - - .. seealso:: - - :parameter:`connPoolMaxShardedConnsPerHost` .. parameter:: slowConnectionThresholdMillis @@ -1317,10 +1275,6 @@ General Parameters mongos --setParameter globalConnPoolIdleTimeoutMinutes=10 - .. seealso:: - - :parameter:`connPoolMaxShardedConnsPerHost` - .. parameter:: cursorTimeoutMillis |both| @@ -1844,6 +1798,30 @@ General Parameters .. seealso: :ref:`storage-node-watchdog` +.. parameter:: tcmallocAggressiveMemoryDecommit + + *Type*: integer (``0`` or ``1`` only) + + Default: 1 + + If you enable ``tmallocAggressiveMemoryDecommit``, MongoDB: + + - releases a :term:`chunk ` of memory to system, and + + - attempts to return all neighboring free chunks. + + A value of ``1`` enables ``tcmallocAggressiveMemoryDecommit``; + ``0`` disables this parameter. + + If you enable this parameter, the system will require new memory allocations + for use. Consider enabling ``tcmallocAggressiveMemoryDecommit`` + only on memory-constrained systems and after pursuing other memory and + performance options. + + Despite the potential performance degradation when using + ``tcmallocAggressiveMemoryDecommit``, it is often preferred over using + :parameter:`tcmallocReleaseRate`. + .. parameter:: tcmallocReleaseRate .. versionadded:: 4.2.3 @@ -1860,6 +1838,12 @@ General Parameters return memory faster; decrease it to return memory slower. Reasonable rates are in the range [0,10]." + .. note:: + + Consider using :parameter:`tcmallocAggressiveMemoryDecommit` instead of + :parameter:`tcmallocReleaseRate`, unless you see a significant performance + degradation when using ``tcmallocAggressiveMemoryDecommit``. + To modify the release rate during run time, you can use the :dbcommand:`setParameter` command; for example: @@ -4790,7 +4774,7 @@ Sharding Parameters .. parameter:: persistedChunkCacheUpdateMaxBatchSize - .. versionadded:: 7.2 (and 7.1.1, 7.0.4) + .. versionadded:: 7.2 (and 7.1.1, 7.0.4, 6.0.13, 5.0.25) |mongod-only| diff --git a/source/reference/program/mongod.txt b/source/reference/program/mongod.txt index a26c55bbc07..0f48b23e0dc 100644 --- a/source/reference/program/mongod.txt +++ b/source/reference/program/mongod.txt @@ -1920,8 +1920,6 @@ TLS Options .. include:: /includes/extracts/tls-facts-ca-file.rst .. include:: /includes/extracts/tls-facts-see-more.rst - - .. option:: --tlsClusterFile @@ -2078,6 +2076,10 @@ TLS Options Specifies the :file:`.pem` file that contains the root certificate chain from the Certificate Authority. Specify the file name of the :file:`.pem` file using relative or absolute paths. + + .. important:: + + .. include:: /includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst Windows/macOS Only If using :option:`--tlsCertificateSelector` and/or diff --git a/source/reference/program/mongoldap.txt b/source/reference/program/mongoldap.txt index 4c7fc1c8db9..d4df5a0ff2b 100644 --- a/source/reference/program/mongoldap.txt +++ b/source/reference/program/mongoldap.txt @@ -157,16 +157,12 @@ configuration files are valid, the output might be as follows: Behavior -------- -Starting in MonogoDB 5.1, ``mongoldap`` supports prefixing LDAP +Starting in MongoDB 5.1, ``mongoldap`` supports prefixing LDAP server with ``srv:`` and ``srv_raw:``. -If your connection string specifies ``"srv:"``, ``mongoldap`` -verifies that ``"_ldap._tcp.gc._msdcs."`` exists for SRV to -support Active Directory. If not found, it verifies -``"_ldap._tcp."`` exists for SRV. If an SRV record cannot be -found, ``mongoldap`` warns you to use ``"srv_raw:"`` instead. -``mongoldap`` does the reverse check for ``"srv_raw:"`` by -checking for ``"_ldap._tcp."``. +.. |ldap-binary| replace:: ``mongoldap`` + +.. include:: /includes/ldap-srv-details.rst Options ------- diff --git a/source/reference/read-concern.txt b/source/reference/read-concern.txt index a12ea5399e9..33500066a74 100644 --- a/source/reference/read-concern.txt +++ b/source/reference/read-concern.txt @@ -13,11 +13,11 @@ Read Concern :class: singlecol The ``readConcern`` option allows you to control the consistency and -isolation properties of the data read from replica sets and replica set -shards. +isolation properties of the data read from :ref:`replica sets ` +and :ref:`sharded clusters `. -Through the effective use of :doc:`write concerns -` and read concerns, you can adjust the level +Through the effective use of :ref:`write concerns ` +and read concerns, you can adjust the level of consistency and availability guarantees as appropriate, such as waiting for stronger consistency guarantees, or loosening consistency requirements to provide higher availability. diff --git a/source/reference/sbe.txt b/source/reference/sbe.txt index 0499305aff2..602e9a7c08a 100644 --- a/source/reference/sbe.txt +++ b/source/reference/sbe.txt @@ -36,25 +36,16 @@ MongoDB uses the classic engine for queries that are ineligible for the Eligible Queries for the {+sbe-short-title+} ---------------------------------------------------- -MongoDB can use the {+sbe-short+} for the following queries: +MongoDB determines eligibility for using the {+sbe-short+} on a per-query basis, +and considers support for each operator and expressions present in the query. +For example, two common pipelines that use {+sbe-short+} are aggregations with +:pipeline:`$group` or :pipeline:`$lookup` stages. However, support for the +{+sbe-short+} is version specific and actively changing. -- :pipeline:`$group` and :pipeline:`$lookup` pipeline stages when - specific conditions are met. For more information, see - :ref:`sbe-pipeline-optimizations`. +To see whether your query used the {+sbe-short+}, refer to the +:ref:`sbe-determine-query-engine` section. -- :pipeline:`$match` and :pipeline:`$project` pipeline stages that use - supported query operators and expressions. - -- Certain :pipeline:`$sort` pipeline stages that do not include - :expression:`$meta` sorts. - -- :method:`~db.collection.find()` queries that use supported query - operators and expressions. - -.. note:: - - The {+sbe-short+} does not support :ref:`geospatial query operators - `. +.. _sbe-determine-query-engine: Determine which Query Engine was Used ------------------------------------- @@ -67,7 +58,8 @@ Check Query Explain Results The explain results for a query differ based on which query engine was used. For example, explain results for queries -executed using the {+sbe-short+} include the ``explain.queryPlanner.winningPlan.slotBasedPlan`` field. +executed using the {+sbe-short+} include the +``explain.queryPlanner.winningPlan.slotBasedPlan`` field. For more information about the differences in explain results between query engines, see :ref:`explain-output-structure`. diff --git a/source/reference/sharding.txt b/source/reference/sharding.txt index af6c7c1b83b..dbc94e15eee 100644 --- a/source/reference/sharding.txt +++ b/source/reference/sharding.txt @@ -295,10 +295,6 @@ The following database commands support :term:`sharded clusters - Returns a list of configured shards. - * - :dbcommand:`medianKey` - - - Deprecated internal command. See :dbcommand:`splitVector`. - * - :dbcommand:`moveChunk` - Internal command that migrates chunks between shards. diff --git a/source/reference/stable-api-changelog.txt b/source/reference/stable-api-changelog.txt index 2ff40395e86..54f97bb631e 100644 --- a/source/reference/stable-api-changelog.txt +++ b/source/reference/stable-api-changelog.txt @@ -126,9 +126,7 @@ The following table describes: .. [#stable-api-explain] - MongoDB does not guarantee that the output of the - :dbcommand:`explain` command will conform to the same format in - future API versions. + .. include:: /includes/fact-stable-api-explain.rst Aggregation Stages and Operators -------------------------------- diff --git a/source/reference/write-concern.txt b/source/reference/write-concern.txt index 275c270dac0..1848acbb28f 100644 --- a/source/reference/write-concern.txt +++ b/source/reference/write-concern.txt @@ -17,8 +17,8 @@ Write Concern Write concern describes the level of acknowledgment requested from -MongoDB for write operations to a standalone :binary:`~bin.mongod` or -to :ref:`Replica sets ` or to :ref:`sharded clusters +MongoDB for write operations to a standalone :binary:`~bin.mongod`, +:ref:`replica sets `, or :ref:`sharded clusters `. In sharded clusters, :binary:`~bin.mongos` instances will pass the write concern on to the shards. diff --git a/source/release-notes.txt b/source/release-notes.txt index 160da00a2c7..acb356f2ee8 100644 --- a/source/release-notes.txt +++ b/source/release-notes.txt @@ -1,5 +1,7 @@ .. start-include-here +.. _server-release-notes-landing: + Release Notes ------------- @@ -12,18 +14,18 @@ To see changes in MongoDB releases, see the following release notes. Upcoming Release ~~~~~~~~~~~~~~~~ -.. include:: /includes/rc-available.rst +.. include:: /includes/in-dev.rst -- :ref:`release-notes-7.2` +- :ref:`release-notes-7.3` Current Rapid Release ~~~~~~~~~~~~~~~~~~~~~ -(*7.1-series*) +(*7.2-series*) .. include:: /includes/rapid-release-short.rst -- :ref:`release-notes-7.1` +- :ref:`release-notes-7.2` Current Stable Release ~~~~~~~~~~~~~~~~~~~~~~ @@ -35,12 +37,7 @@ Current Stable Release Previous Rapid Releases ~~~~~~~~~~~~~~~~~~~~~~~ -- :ref:`release-notes-6.3` -- :ref:`release-notes-6.2` -- :ref:`release-notes-6.1` -- :ref:`release-notes-5.3` -- :ref:`release-notes-5.2` -- :ref:`release-notes-5.1` +- :ref:`release-notes-7.1` Previous Stable Releases ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -55,21 +52,25 @@ EOL Releases .. hlist:: :columns: 2 - - :ref:`release-notes-4.2` - - :ref:`release-notes-4.0` - - :ref:`release-notes-3.6` - - :ref:`release-notes-3.4` - - :ref:`release-notes-3.2` - - :ref:`release-notes-3.0` - - :ref:`release-notes-2.6` - - :ref:`release-notes-2.4` - - :ref:`release-notes-2.2` - - :ref:`release-notes-2.0` - - :ref:`release-notes-1.8` - - :ref:`release-notes-1.6` - - :ref:`release-notes-1.4` - - :ref:`release-notes-1.2` - + - 4.2 + - 4.0 + - 3.6 + - 3.4 + - 3.2 + - 3.0 + - 2.6 + - 2.4 + - 2.2 + - 2.0 + - 1.8 + - 1.6 + - 1.4 + - 1.2 + +.. note:: + + For documentation associated with an EOL release, see + `the legacy documentation `__. .. toctree:: :maxdepth: 1 @@ -79,29 +80,10 @@ EOL Releases /release-notes/7.2 /release-notes/7.1 /release-notes/7.0 - /release-notes/6.3 - /release-notes/6.2 - /release-notes/6.1 /release-notes/6.0 - /release-notes/5.3 - /release-notes/5.2 - /release-notes/5.1 /release-notes/5.0 /release-notes/4.4 - /release-notes/4.2 - /release-notes/4.0 - /release-notes/3.6 - /release-notes/3.4 - /release-notes/3.2 - /release-notes/3.0 - /release-notes/2.6 - /release-notes/2.4 - /release-notes/2.2 - /release-notes/2.0 - /release-notes/1.8 - /release-notes/1.6 - /release-notes/1.4 - /release-notes/1.2 + .. end-include-here diff --git a/source/release-notes/1.2.txt b/source/release-notes/1.2.txt deleted file mode 100644 index c69d241fa5a..00000000000 --- a/source/release-notes/1.2.txt +++ /dev/null @@ -1,72 +0,0 @@ -.. _release-notes-1.2: - -=============================== -Release Notes for MongoDB 1.2.x -=============================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -New Features ------------- - -- More indexes per collection - -- Faster index creation - -- Map/Reduce - -- Stored JavaScript functions - -- Configurable fsync time - -- Several small features and fixes - -DB Upgrade Required -------------------- - -There are some changes that will require doing an upgrade if your -previous version is <= 1.0.x. If you're already using a version >= 1.1.x -then these changes aren't required. There are 2 ways to do it: - -- ``--upgrade`` - - - stop your :binary:`~bin.mongod` process - - - run ``./mongod --upgrade`` - - - start :binary:`~bin.mongod` again - -- use a slave - - - start a slave on a different port and data directory - - - when its synced, shut down the master, and start the new slave on - the regular port. - -Ask in the forums or IRC for more help. - -Replication Changes -------------------- - -- There have been minor changes in replication. If you are upgrading a - master/slave setup from <= 1.1.2 you have to update the slave first. - -mongoimport ------------ - -- ``mongoimportjson`` has been removed and is replaced with - :binary:`~bin.mongoimport` that can do json/csv/tsv - -field filter changing ---------------------- - -- We've changed the semantics of the field filter a little bit. - Previously only objects with those fields would be returned. Now the - field filter only changes the output, not which objects are returned. - If you need that behavior, you can use :doc:`$exists ` diff --git a/source/release-notes/1.4.txt b/source/release-notes/1.4.txt deleted file mode 100644 index 0749cd70a17..00000000000 --- a/source/release-notes/1.4.txt +++ /dev/null @@ -1,98 +0,0 @@ -.. _release-notes-1.4: - -============================= -Release Notes for MongoDB 1.4 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Upgrading ---------- - -We're pleased to announce the 1.4 release of MongoDB. 1.4 is a drop-in -replacement for 1.2. To upgrade you just need to shutdown -:binary:`~bin.mongod`, then restart with the new binaries. (Users upgrading -from release 1.0 should review the :ref:`1.2 release notes `, -in particular the instructions for upgrading the DB format.) - -Release 1.4 includes the following improvements over release 1.2: - -Core Server Enhancements ------------------------- - -- :ref:`concurrency ` improvements - -- indexing memory improvements - -- :ref:`background index creation ` - -- better detection of regular expressions so the index can be used in - more cases - -Replication and Sharding ------------------------- - -- better handling for restarting slaves offline for a while - -- fast new slaves from snapshots (``--fastsync``) - -- configurable slave delay (``--slavedelay``) - -- replication handles clock skew on master - -- :update:`$inc` replication fixes - -- sharding alpha 3 - notably 2-phase commit on config servers - -Deployment and Production -------------------------- - -- :ref:`configure "slow threshold" for profiling ` - -- ability to do :dbcommand:`fsync + lock ` for backing up raw files - -- option for separate directory per db (``--directoryperdb``) - -- ``http://localhost:28017/_status`` to get serverStatus via http - -- REST interface is off by default for security (``--rest`` to enable) - -- can rotate logs with a db command, :doc:`logRotate ` - -- enhancements to :dbcommand:`serverStatus` command - (db.serverStatus()) - counters and :ref:`replication lag - ` stats - -- new :binary:`~bin.mongostat` tool - -Query Language Improvements ---------------------------- - -- :query:`$all` with regex - -- :query:`$not` - -- partial matching of array elements :query:`$elemMatch` - -- $ operator for updating arrays - -- :update:`$addToSet` - -- :update:`$unset` - -- :update:`$pull` supports object matching - -- :update:`$set` with array indexes - -Geo ---- - -- :ref:`2d geospatial search <2d-index-internals>` - -- geo :query:`$center` and :query:`$box` searches diff --git a/source/release-notes/1.6.txt b/source/release-notes/1.6.txt deleted file mode 100644 index 39c0b53c90d..00000000000 --- a/source/release-notes/1.6.txt +++ /dev/null @@ -1,116 +0,0 @@ -.. _release-notes-1.6: - -============================= -Release Notes for MongoDB 1.6 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Upgrading ---------- - -MongoDB 1.6 is a drop-in replacement for 1.4. To upgrade, simply -shutdown :binary:`~bin.mongod` then restart with the new binaries. - -*Please note that you should upgrade to the latest version of whichever -driver you're using. Certain drivers, including the Ruby driver, will -require the upgrade, and all the drivers will provide extra features for -connecting to replica sets.* - -Sharding --------- - -:doc:`/sharding` is now production-ready, making MongoDB horizontally -scalable, with no single point of failure. A single instance of -:binary:`~bin.mongod` can now be upgraded to a distributed cluster with zero -downtime when the need arises. - -- :doc:`/sharding` - -- :doc:`/tutorial/deploy-shard-cluster` - -- :doc:`/tutorial/convert-replica-set-to-replicated-shard-cluster` - -Replica Sets ------------- - -:ref:`Replica Sets `, which provide automated failover -among a cluster of ``n`` nodes, are also now available. - -Please note that replica pairs are now deprecated; we strongly recommend -that replica pair users upgrade to replica sets. - -- :doc:`/replication` - -- :doc:`/tutorial/deploy-replica-set` - -- :doc:`/tutorial/convert-standalone-to-replica-set` - -Other Improvements ------------------- - -- The ``w`` option (and ``wtimeout``) forces writes to be propagated to ``n`` - servers before returning success (this works especially well with - replica sets) - -- :doc:`$or queries ` - -- Improved concurrency - -- :doc:`$slice ` operator for returning - subsets of arrays - -- 64 indexes per collection (formerly 40 indexes per collection) - -- 64-bit integers can now be represented in the shell using NumberLong - -- The :dbcommand:`findAndModify` command - now supports upserts. It also allows you to specify fields to return - -- $showDiskLoc option to see disk location of a document - -- Support for IPv6 and UNIX domain sockets - -Installation ------------- - -- Windows service improvements - -- The C++ client is a separate tarball from the binaries - -1.6.x Release Notes -------------------- - -- `1.6.5 `_ - -1.5.x Release Notes -------------------- - -- `1.5.8 `_ - -- `1.5.7 `_ - -- `1.5.6 `_ - -- `1.5.5 `_ - -- `1.5.4 `_ - -- `1.5.3 `_ - -- `1.5.2 `_ - -- `1.5.1 `_ - -- `1.5.0 `_ - -You can see a full list of all changes on -`JIRA `_. - -Thank you everyone for your support and suggestions! diff --git a/source/release-notes/1.8.txt b/source/release-notes/1.8.txt deleted file mode 100644 index 46f608d8f21..00000000000 --- a/source/release-notes/1.8.txt +++ /dev/null @@ -1,405 +0,0 @@ -.. _release-notes-1.8: - -============================= -Release Notes for MongoDB 1.8 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Upgrading ---------- - -MongoDB 1.8 is a standard, incremental production release and works as -a drop-in replacement for MongoDB 1.6, except: - -- :term:`Replica set ` members should be upgraded in a - particular order, as described in :ref:`1.8-upgrade-replica-set`. - -- The :dbcommand:`mapReduce` command has changed in 1.8, causing - incompatibility with previous releases. :dbcommand:`mapReduce` no - longer generates temporary collections (thus, ``keepTemp`` has been - removed). Now, you must always supply a value for ``out``. See the - ``out`` field options in the :dbcommand:`mapReduce` document. If you - use MapReduce, this also likely means you need a recent version of - your client driver. - -Preparation -~~~~~~~~~~~ - -Read through all release notes before upgrading and ensure that no -changes will affect your deployment. - -.. _1.8-upgrade-standalone: - -Upgrading a Standalone ``mongod`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1. Download the v1.8.x binaries from the `MongoDB Download Page`_. - -#. Shutdown your :binary:`~bin.mongod` instance. - -#. Replace the existing binary with the 1.8.x :binary:`~bin.mongod` binary. - -#. Restart MongoDB. - -.. _`MongoDB Download Page`: http://downloads.mongodb.org/ - -.. _1.8-upgrade-replica-set: - -Upgrading a Replica Set -~~~~~~~~~~~~~~~~~~~~~~~ - -1.8.x :term:`secondaries ` **can** replicate from 1.6.x -:term:`primaries `. - -1.6.x secondaries **cannot** replicate from 1.8.x primaries. - -Thus, to upgrade a :term:`replica set` you must replace all of your -secondaries first, then the primary. - -For example, suppose you have a replica set with a primary, an -:term:`arbiter` and several secondaries. To upgrade the set, do the -following: - -1. For the arbiter: - - a. Shut down the arbiter. - - #. Restart it with the 1.8.x binary from the `MongoDB Download Page`_. - -#. Change your config (optional) to prevent election of a new primary. - - It is possible that, when you start shutting down members of the set, - a new primary will be elected. To prevent this, you can give - all of the secondaries a priority of ``0`` before - upgrading, and then change them back afterwards. To do so: - - a. Record your current config. Run :method:`rs.config()` and paste the - results into a text file. - - #. Update your config so that all secondaries have - priority ``0``. For example: - - .. code-block:: javascript - - config = rs.conf() - { - "_id" : "foo", - "version" : 3, - "members" : [ - { - "_id" : 0, - "host" : "ubuntu:27017" - }, - { - "_id" : 1, - "host" : "ubuntu:27018" - }, - { - "_id" : 2, - "host" : "ubuntu:27019", - "arbiterOnly" : true - } - { - "_id" : 3, - "host" : "ubuntu:27020" - }, - { - "_id" : 4, - "host" : "ubuntu:27021" - }, - ] - } - config.version++ - 3 - rs.isMaster() - { - "setName" : "foo", - "ismaster" : false, - "secondary" : true, - "hosts" : [ - "ubuntu:27017", - "ubuntu:27018" - ], - "arbiters" : [ - "ubuntu:27019" - ], - "primary" : "ubuntu:27018", - "ok" : 1 - } - // for each secondary - config.members[0].priority = 0 - config.members[3].priority = 0 - config.members[4].priority = 0 - rs.reconfig(config) - -#. For each secondary: - - a. Shut down the secondary. - - #. Restart it with the 1.8.x binary from the `MongoDB Download Page`_. - -#. If you changed the config, change it back to its original state: - - .. code-block:: javascript - - config = rs.conf() - config.version++ - config.members[0].priority = 1 - config.members[3].priority = 1 - config.members[4].priority = 1 - rs.reconfig(config) - -#. Shut down the primary (the final 1.6 server), and then restart it - with the 1.8.x binary from the `MongoDB Download Page`_. - -.. _1.8-upgrade-shard-cluster: -.. _1.8-upgrade-sharded-cluster: - -Upgrading a Sharded Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1. Turn off the balancer: - - .. code-block:: javascript - - mongo - use config - db.settings.update({_id:"balancer"},{$set : {stopped:true}}, true) - -#. For each :term:`shard`: - - - If the shard is a :term:`replica set`, follow the directions above for - :ref:`1.8-upgrade-replica-set`. - - - If the shard is a single :binary:`~bin.mongod` process, shut it down - and then restart it with the 1.8.x binary from the `MongoDB Download Page`_. - -#. For each :binary:`~bin.mongos`: - - a. Shut down the :binary:`~bin.mongos` process. - - #. Restart it with the 1.8.x binary from the `MongoDB Download Page`_. - -#. For each config server: - - a. Shut down the config server process. - - #. Restart it with the 1.8.x binary from the `MongoDB Download Page`_. - -#. Turn on the balancer: - - .. code-block:: javascript - - use config - db.settings.update({_id:"balancer"},{$set : {stopped:false}}) - -Returning to 1.6 -~~~~~~~~~~~~~~~~ - -If for any reason you must move back to 1.6, follow the steps above in -reverse. Please be careful that you have not inserted any documents -larger than 4MB while running on 1.8 (where the max size has increased -to 16MB). If you have you will get errors when the server tries to read -those documents. - -Journaling -`````````` - -Returning to 1.6 after using 1.8 -:ref:`Journaling ` works -fine, as journaling does not change anything about the data file format. -Suppose you are running 1.8.x with journaling enabled and you decide to -switch back to 1.6. There are two scenarios: - -- If you shut down cleanly with 1.8.x, just restart with the 1.6 mongod - binary. - -- If 1.8.x shut down uncleanly, start 1.8.x up again and let the journal - files run to fix any damage (incomplete writes) that may have existed - at the crash. Then shut down 1.8.x cleanly and restart with the 1.6 - mongod binary. - -Changes -------- - -Journaling -~~~~~~~~~~ - -MongoDB now supports write-ahead :doc:`/core/journaling` to -facilitate fast crash recovery and durability in the storage engine. -With journaling enabled, a :binary:`~bin.mongod` can be quickly restarted -following a crash without needing to repair the :term:`collections -`. An aggregation pipeline makes it possible to do -aggregation. - -Sparse and Covered Indexes -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:ref:`Sparse Indexes ` are indexes that only include -documents that contain the fields specified in the index. Documents -missing the field will not appear in the index at all. This can -significantly reduce index size for indexes of fields that contain only a -subset of documents within a :term:`collection`. - -:ref:`Covered Indexes ` enable MongoDB to answer -queries entirely from the index when the query only selects fields -that the index contains. - -Incremental MapReduce Support -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The :dbcommand:`mapReduce` command supports new options that enable -incrementally updating existing :term:`collections `. -Previously, a MapReduce job could output either to a temporary -collection or to a named permanent collection, which it would overwrite -with new data. - -You now have several options for the output of your MapReduce jobs: - -- You can merge MapReduce output into an existing collection. Output - from the Reduce phase will replace existing keys in the output - collection if it already exists. Other keys will remain in the - collection. - -- You can now re-reduce your output with the contents of an existing - collection. Each key output by the reduce phase will be reduced with - the existing document in the output collection. - -- You can replace the existing output collection with the new results of - the MapReduce job (equivalent to setting a permanent output - collection in previous releases) - -- You can compute MapReduce inline and return results to the caller - without persisting the results of the job. This is similar to the - temporary collections generated in previous releases, except results - are limited to 8MB. - -For more information, see the ``out`` field options in the -:dbcommand:`mapReduce` document. - -Additional Changes and Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1.8.1 -````` - -- Sharding migrate fix when moving larger chunks. - -- Durability fix with background indexing. - -- Fixed mongos concurrency issue with many incoming connections. - -1.8.0 -````` - -- All changes from 1.7.x series. - -1.7.6 -````` - -- Bug fixes. - -1.7.5 -````` -- :ref:`Journaling `. - -- Extent allocation improvements. - -- Improved :term:`replica set` connectivity for :binary:`~bin.mongos`. - -- ``getLastError`` improvements for :term:`sharding`. - -1.7.4 -````` - -- :binary:`~bin.mongos` routes ``slaveOk`` queries to :term:`secondaries - ` in :term:`replica sets `. - -- New :dbcommand:`mapReduce` output options. - -- :ref:`index-type-sparse`. - -1.7.3 -````` - -- Initial :ref:`covered index ` support. - -- Distinct can use data from indexes when possible. - -- :dbcommand:`mapReduce` can merge or reduce results into an existing collection. - -- :binary:`~bin.mongod` tracks and :binary:`~bin.mongostat` displays network usage. See :ref:`mongostat`. - -- Sharding stability improvements. - -1.7.2 -````` - -- :update:`$rename` operator allows renaming of fields in a document. - -- ``db.eval()`` not to block. - -- Geo queries with sharding. - -- ``mongostat --discover`` option - -- Chunk splitting enhancements. - -- Replica sets network enhancements for servers behind a nat. - -1.7.1 -````` - -- Many sharding performance enhancements. - -- Better support for :projection:`$elemMatch` on primitives in embedded arrays. - -- Query optimizer enhancements on range queries. - -- Window service enhancements. - -- Replica set setup improvements. - -- :update:`$pull` works on primitives in arrays. - -1.7.0 -````` - -- Sharding performance improvements for heavy insert loads. - -- Slave delay support for replica sets. - -- ``local.system.replset.settings.getLastErrorDefaults`` for replica sets. - -- Auto completion in the shell. - -- Spherical distance for geo search. - -- All fixes from 1.6.1 and 1.6.2. - -Release Announcement Forum Pages -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- `1.8.1 `_, - `1.8.0 `_ - -- `1.7.6 `_, - `1.7.5 `_, - `1.7.4 `_, - `1.7.3 `_, - `1.7.2 `_, - `1.7.1 `_, - `1.7.0 `_ - -Resources ---------- - -- `MongoDB Downloads `_ -- `All JIRA Issues resolved in 1.8 `_ diff --git a/source/release-notes/2.0.txt b/source/release-notes/2.0.txt deleted file mode 100644 index e0b3653b4b8..00000000000 --- a/source/release-notes/2.0.txt +++ /dev/null @@ -1,431 +0,0 @@ -.. _release-notes-2.0: - -============================= -Release Notes for MongoDB 2.0 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Upgrading ---------- - -Although the major version number has changed, MongoDB 2.0 is a -standard, incremental production release and works as a drop-in -replacement for MongoDB 1.8. - -Preparation -~~~~~~~~~~~ - -Read through all release notes before upgrading, and ensure that no -changes will affect your deployment. - -If you create new indexes in 2.0, then downgrading to 1.8 is possible -but you must reindex the new collections. - -:binary:`~bin.mongoimport` and :binary:`~bin.mongoexport` now correctly adhere to the CSV spec -for handling CSV input/output. This may break existing import/export -workflows that relied on the previous behavior. For more information see -:issue:`SERVER-1097`. - -:ref:`` is **enabled by default** in 2.0 for 64-bit builds. -If you still prefer to run without journaling, start :binary:`~bin.mongod` -with the ``--nojournal`` run-time option. Otherwise, MongoDB creates journal -files during startup. The first time you start :binary:`~bin.mongod` with -journaling, you will see a delay as :binary:`~bin.mongod` creates new files. -In addition, you may see reduced write throughput. - -2.0 :binary:`~bin.mongod` instances are interoperable with 1.8 -:binary:`~bin.mongod` instances; however, for best results, upgrade your -deployments using the following procedures: - -.. _2.0-upgrade-standalone: - -Upgrading a Standalone ``mongod`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1. Download the v2.0.x binaries from the `MongoDB Download Page`_. - -#. Shutdown your :binary:`~bin.mongod` instance. Replace the existing - binary with the 2.0.x :binary:`~bin.mongod` binary and restart MongoDB. - -.. _`MongoDB Download Page`: http://downloads.mongodb.org/ - -.. _2.0-upgrade-replica-set: - -Upgrading a Replica Set -~~~~~~~~~~~~~~~~~~~~~~~ - -1. Upgrade the :term:`secondary` members of the set one at a time by - shutting down the :binary:`~bin.mongod` and replacing the 1.8 binary - with the 2.0.x binary from the `MongoDB Download Page`_. - -#. To avoid losing the last few updates on failover you can - temporarily halt your application (failover should take less than 10 - seconds), or you can set :ref:`write concern ` in your application - code to confirm that each update reaches multiple servers. - -#. Use the :method:`rs.stepDown()` to step down the primary to allow - the normal :ref:`failover ` procedure. - - :method:`rs.stepDown()` and :dbcommand:`replSetStepDown` provide for - shorter and more consistent failover procedures than simply - shutting down the primary directly. - - When the primary has stepped down, shut down its instance and - upgrade by replacing the :binary:`~bin.mongod` binary with the 2.0.x - binary. - -.. _2.0-upgrade-shard-cluster: -.. _2.0-upgrade-sharded-cluster: - -Upgrading a Sharded Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1. Upgrade all :term:`config server ` instances - *first*, in any order. Since config servers use two-phase commit, - :term:`shard` configuration metadata updates will halt until all are - up and running. - -#. Upgrade :binary:`~bin.mongos` routers in any order. - -Changes -------- - -Compact Command -~~~~~~~~~~~~~~~ - -A :dbcommand:`compact` command is now available for compacting a single -collection and its indexes. Previously, the only way to compact was to -repair the entire database. - -Concurrency Improvements -~~~~~~~~~~~~~~~~~~~~~~~~ - -When going to disk, the server will yield the write lock when writing -data that is not likely to be in memory. The initial -implementation of this feature now exists: - -See :issue:`SERVER-2563` for more information. - -The specific operations yield in 2.0 are: - -- Updates by ``_id`` - -- Removes - -- Long cursor iterations - -Default Stack Size -~~~~~~~~~~~~~~~~~~ - -MongoDB 2.0 reduces the default stack size. This change can reduce total memory -usage when there are many (e.g., 1000+) client connections, as there is -a thread per connection. While portions of a thread's stack can be -swapped out if unused, some operating systems do this slowly enough that -it might be an issue. The default stack size is lesser of the -system setting or 1MB. - -.. _2.0-new-index-format: - -Index Performance Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -v2.0 includes significant improvements to the -:v2.2:`index `. -Indexes are often 25% smaller and 25% faster (depends on the use case). -When upgrading from previous versions, the benefits of the new index -type are realized only if you create a new index or re-index an old one. - -Dates are now signed, and the max index key size has increased slightly -from 819 to 1024 bytes. - -All operations that create a new index will result in a 2.0 index by -default. For example: - -- Reindexing results on an older-version index results in a 2.0 index. - However, reindexing on a secondary does *not* work in versions prior - to 2.0. Do not reindex on a secondary. For a workaround, see - :issue:`SERVER-3866`. - -- The ``repairDatabase`` command converts indexes to a 2.0 - indexes. - -To convert all indexes for a given collection to the :ref:`2.0 type -<2.0-new-index-format>`, invoke the :dbcommand:`compact` command. - -Once you create new indexes, downgrading to 1.8.x will require a -re-index of any indexes created using 2.0. See -:v2.2:`/tutorial/roll-back-to-v1.8-index`. - -Sharding Authentication -~~~~~~~~~~~~~~~~~~~~~~~ - -Applications can now use authentication with :term:`sharded clusters `. - -Replica Sets -~~~~~~~~~~~~ - -Hidden Nodes in Sharded Clusters -```````````````````````````````` - -In 2.0, :binary:`~bin.mongos` instances can now determine when a member of -a replica set becomes "hidden" without requiring a restart. In 1.8, -:binary:`~bin.mongos` if you reconfigured a -member as hidden, you *had* to restart :binary:`~bin.mongos` to prevent -queries from reaching the hidden member. - -Priorities -`````````` - -Each :term:`replica set` member can now have a priority value consisting -of a floating-point from 0 to 1000, inclusive. Priorities let you -control which member of the set you prefer to have as :term:`primary` -the member with the highest priority that can see a majority of the set -will be elected primary. - -For example, suppose you have a replica set with three members, ``A``, ``B``, and -``C``, and suppose that their priorities are set as follows: - -- ``A``'s priority is ``2``. - -- ``B``'s priority is ``3``. - -- ``C``'s priority is ``1``. - -During normal operation, the set will always chose ``B`` as -primary. If ``B`` becomes unavailable, the set will elect ``A`` as primary. - -For more information, see the -:rsconf:`priority ` documentation. - -Data-Center Awareness -`````````````````````` - -You can now "tag" :term:`replica set` members to indicate their -location. You can use these tags to design custom :ref:`write rules ` -across data centers, racks, specific servers, or any other architecture -choice. - -For example, an administrator can define rules such as "very important write" or -``customerData`` or "audit-trail" to replicate to certain servers, -racks, data centers, etc. Then in the application code, the developer -would say: - -.. code-block:: javascript - - db.foo.insert(doc, {w : "very important write"}) - -which would succeed if it fulfilled the conditions the DBA defined for -"very important write". - -For more information, see :doc:`/data-center-awareness`. - -Drivers may also support tag-aware reads. Instead of -specifying ``slaveOk``, you specify ``slaveOk`` with tags indicating -which data-centers to read from. For details, see the -:driver:`Drivers ` documentation. - -``w`` : ``majority`` -```````````````````` - -You can also set ``w`` to ``majority`` to ensure that the write -propagates to a majority of nodes, effectively committing it. The -value for "majority" will automatically adjust as you add or -remove nodes from the set. - -For more information, see :doc:`/reference/write-concern`. - -Reconfiguration with a Minority Up -`````````````````````````````````` - -If the majority of servers in a set has been permanently lost, you can -now force a reconfiguration of the set to bring it back online. - -For more information see :doc:`/tutorial/reconfigure-replica-set-with-unavailable-members`. - -Primary Checks for a Caught up Secondary before Stepping Down -````````````````````````````````````````````````````````````` - -To minimize time without a :term:`primary`, the :method:`rs.stepDown()` -method will now fail if the primary does not see a :term:`secondary` -within 10 seconds of its latest optime. You can force the primary to -step down anyway, but by default it will return an error message. - -See also :doc:`/tutorial/force-member-to-be-primary`. - -Extended Shutdown on the Primary to Minimize Interruption -````````````````````````````````````````````````````````` - -When you call the :dbcommand:`shutdown` command, the :term:`primary` -will refuse to shut down unless there is a :term:`secondary` whose -optime is within 10 seconds of the primary. If such a secondary isn't -available, the primary will step down and wait up to a minute for the -secondary to be fully caught up before shutting down. - -Note that to get this behavior, you must issue the :dbcommand:`shutdown` -command explicitly; sending a signal to the process will not trigger -this behavior. - -You can also force the primary to shut down, even without an up-to-date -secondary available. - -Maintenance Mode -```````````````` - -When ``repairDatabase`` or :dbcommand:`compact` runs on a :term:`secondary`, the -secondary will automatically drop into "recovering" mode until the -operation finishes. This prevents clients from trying to read from it -while it's busy. - -Geospatial Features -~~~~~~~~~~~~~~~~~~~ - -Multi-Location Documents -```````````````````````` - -Indexing is now supported on documents which have multiple location -objects, embedded either inline or in embedded documents. Additional -command options are also supported, allowing results to return with -not only distance but the location used to generate the distance. - -For more information, see :ref:`geospatial-indexes-multi-location`. - -Polygon searches -```````````````` - -Polygonal :query:`$within` queries are also now supported for simple polygon -shapes. For details, see the :query:`$within` operator documentation. - -Journaling Enhancements -~~~~~~~~~~~~~~~~~~~~~~~ - -- Journaling is now enabled by default for 64-bit platforms. Use the - ``--nojournal`` command line option to disable it. - -- The journal is now compressed for faster commits to disk. - -- A new :option:`--journalCommitInterval ` run-time option exists for - specifying your own group commit interval. The default settings do - not change. - -- A new ``{ getLastError: { j: true } }`` option is available to wait - for the group commit. The group commit will happen sooner when a - client is waiting on ``{j: true}``. If journaling is disabled, - ``{j: true}`` is a no-op. - -New ``ContinueOnError`` Option for Bulk Insert -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Set the ``continueOnError`` option for bulk inserts, in the -:driver:`driver `, so that bulk insert will -continue to insert any remaining documents even if an insert fails, as -is the case with duplicate key exceptions or network interruptions. The ``getLastError`` -command will report whether any inserts have failed, not just the -last one. If multiple errors occur, the client will only receive the -most recent ``getLastError`` results. - -.. include:: /includes/note-bulk-inserts-on-sharded-clusters.rst - -Map Reduce -~~~~~~~~~~ - -Output to a Sharded Collection -`````````````````````````````` - -Using the new ``sharded`` flag, it is possible to send the result of a -map/reduce to a sharded collection. Combined with the ``reduce`` or -``merge`` flags, it is possible to keep adding data to very large -collections from map/reduce jobs. - -For more information, see :doc:`/core/map-reduce/` and the -:dbcommand:`mapReduce` reference. - -Performance Improvements -```````````````````````` - -Map/reduce performance will benefit from the following: - -- Larger in-memory buffer sizes, reducing the amount of disk I/O needed - during a job - -- Larger javascript heap size, allowing for larger objects - and less GC - -- Supports pure JavaScript execution with the ``jsMode`` flag. See the - :dbcommand:`mapReduce` reference. - -New Querying Features -~~~~~~~~~~~~~~~~~~~~~ - -Additional regex options: ``s`` -``````````````````````````````` - -Allows the dot (``.``) to match all characters including new lines. This is -in addition to the currently supported ``i``, ``m`` and ``x``. See :query:`$regex`. - -$and -```` - -A special boolean :query:`$and` query operator is now available. - -Command Output Changes -~~~~~~~~~~~~~~~~~~~~~~ - -The output of the :dbcommand:`validate` command and the documents in the -``system.profile`` collection have both been enhanced to return -information as BSON objects with keys for each value rather than as -free-form strings. - -Shell Features -~~~~~~~~~~~~~~ - -Custom Prompt -````````````` - -You can define a custom prompt for the ``mongo`` shell. You can -change the prompt at any time by setting the prompt variable to a string -or a custom JavaScript function returning a string. - -Default Shell Init Script -````````````````````````` - -On startup, the shell will check for a ``.mongorc.js`` file in the -user's home directory. The shell will execute this file after connecting -to the database and before displaying the prompt. - -If you would like the shell not to run the ``.mongorc.js`` file -automatically, start the shell with ``--norc``. - -For more information, see the ``mongo`` reference. - -Most Commands Require Authentication -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In 2.0, when running with authentication (e.g. :setting:`~security.authorization`) *all* -database commands require authentication, *except* the following -commands. - -- ``isMaster`` - -- :dbcommand:`authenticate` - -- ``getnonce`` - -- :dbcommand:`buildInfo` - -- :dbcommand:`ping` - -- :dbcommand:`isdbgrid` - -Resources ---------- - -- `MongoDB Downloads `_ -- `All JIRA Issues resolved in 2.0 `_ -- `All Backward Incompatible Changes `_ diff --git a/source/release-notes/2.2.txt b/source/release-notes/2.2.txt deleted file mode 100644 index 9407aab70de..00000000000 --- a/source/release-notes/2.2.txt +++ /dev/null @@ -1,746 +0,0 @@ -.. _release-notes-2.2: - -============================= -Release Notes for MongoDB 2.2 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Upgrading ---------- - -MongoDB 2.2 is a production release series and succeeds the 2.0 -production release series. - -MongoDB 2.0 data files are compatible with 2.2-series binaries without any -special migration process. However, always perform the upgrade process for replica -sets and sharded clusters using the procedures that follow. - -Synopsis -~~~~~~~~ - -- :binary:`~bin.mongod`, 2.2 is a drop-in replacement for 2.0 and 1.8. - -- Check your :driver:`driver ` documentation for - information regarding required compatibility upgrades, and always - run the recent release of your driver. - - Typically, only users running with authentication, will need to - upgrade drivers before continuing with the upgrade to 2.2. - -- For all deployments using authentication, upgrade the - drivers (i.e. client libraries), before upgrading the - :binary:`~bin.mongod` instance or instances. - -- For all upgrades of sharded clusters: - - - turn off the balancer during the upgrade process. See the - :ref:`sharding-balancing-disable-temporarily` section for more - information. - - - upgrade all :binary:`~bin.mongos` instances before upgrading any - :binary:`~bin.mongod` instances. - -Other than the above restrictions, 2.2 processes can interoperate with -2.0 and 1.8 tools and processes. You can safely upgrade the -:binary:`~bin.mongod` and :binary:`~bin.mongos` components of a deployment -one by one while the deployment is otherwise operational. Be sure to -read the detailed upgrade procedures below before upgrading production -systems. [#secondaries-first]_ - -.. [#secondaries-first] To minimize the interruption caused by - :ref:`election process `, always upgrade the - secondaries of the set first, then :dbcommand:`step down - ` the primary, and then upgrade the primary. - -.. _2.2-upgrade-standalone: - -Upgrading a Standalone ``mongod`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -#. Download binaries of the latest release in the 2.2 series from the - `MongoDB Download Page`_. - -#. Shutdown your :binary:`~bin.mongod` instance. Replace the existing - binary with the 2.2 :binary:`~bin.mongod` binary and restart MongoDB. - -.. _`MongoDB Download Page`: http://downloads.mongodb.org/ - -.. _2.2-upgrade-replica-set: - -Upgrading a Replica Set -~~~~~~~~~~~~~~~~~~~~~~~ - -You can upgrade to 2.2 by performing a "rolling" -upgrade of the set by upgrading the members individually while the -other members are available to minimize downtime. Use the following -procedure: - -#. Upgrade the :term:`secondary` members of the set one at a time by - shutting down the :binary:`~bin.mongod` and replacing the 2.0 binary - with the 2.2 binary. After upgrading a :binary:`~bin.mongod` instance, - wait for the member to recover to ``SECONDARY`` state - before upgrading the next instance. - To check the member's state, issue :method:`rs.status()` in the - ``mongo`` shell. - -#. Use the ``mongo`` shell method :method:`rs.stepDown()` to - step down the :term:`primary` to allow the normal :ref:`failover - ` procedure. :method:`rs.stepDown()` - expedites the failover procedure and is preferable to shutting down - the primary directly. - - Once the primary has stepped down and another member has assumed - ``PRIMARY`` state, as observed in the output of - :method:`rs.status()`, shut down the previous primary and replace - :binary:`~bin.mongod` binary with the 2.2 binary and start the new - process. - - .. note:: Replica set failover is not instant but will - render the set unavailable to read or accept writes - until the failover process completes. Typically this takes - 10 seconds or more. You may wish to plan the upgrade during - a predefined maintenance window. - -.. _2.2-upgrade-shard-cluster: -.. _2.2-upgrade-sharded-cluster: - -Upgrading a Sharded Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use the following procedure to upgrade a sharded cluster: - -- :ref:`Disable the balancer `. - -- Upgrade all :binary:`~bin.mongos` instances *first*, in any order. - -- Upgrade all of the :binary:`~bin.mongod` config server instances - using the :ref:`stand alone <2.2-upgrade-standalone>` procedure. - To keep the cluster online, be sure that at all times at least one config - server is up. - -- Upgrade each shard's replica set, using the :ref:`upgrade - procedure for replica sets <2.2-upgrade-replica-set>` detailed above. - -- re-enable the balancer. - -.. note:: - - Balancing is not currently supported in *mixed* 2.0.x and 2.2.0 - deployments. Thus you will want to reach a consistent version for all - shards within a reasonable period of time, e.g. same-day. - See :issue:`SERVER-6902` for more information. - -Changes -------- - -Major Features -~~~~~~~~~~~~~~ - -Aggregation Pipeline -```````````````````` - -An aggregation pipeline makes it possible to do aggregation -operations without needing to use :term:`map-reduce`. The -:dbcommand:`aggregate` command creates an aggregation pipeline, and the -:method:`~db.collection.aggregate()` helper in the ``mongo`` shell -provides an interface to these operations. Consider the following -resources for background on aggregation pipelines and their use: - -- Documentation: :ref:`aggregation` - -- Reference: :doc:`/reference/aggregation` - -TTL Collections -``````````````` - -TTL collections remove expired data from a collection, using a special -index and a background thread that deletes expired documents every -minute. These collections are useful as an alternative to -:term:`capped collections ` in some cases, such as for data -warehousing and caching cases, including: machine generated event data, -logs, and session information that needs to persist in a database -for only a limited period of time. - -For more information, see the :doc:`/tutorial/expire-data` tutorial. - -Concurrency Improvements -```````````````````````` - -MongoDB 2.2 increases the server's capacity for concurrent -operations with the following improvements: - -#. :issue:`DB Level Locking ` -#. :issue:`Improved Yielding on Page Faults ` -#. :issue:`Improved Page Fault Detection on Windows ` - -To reflect these changes, MongoDB now provides changed and improved -reporting for concurrency and use. See :ref:`locks`, :v2.2:`recordStats -`, :method:`db.currentOp()`, -:binary:`~bin.mongotop`, and :binary:`~bin.mongostat`. - -.. todo:: add links to current op output documentation when it happens. - -Improved Data Center Awareness with Tag Aware Sharding -`````````````````````````````````````````````````````` - -MongoDB 2.2 adds additional support for geographic distribution or -other custom partitioning for sharded collections in :term:`clusters -`. By using this "tag aware" sharding, you can -automatically ensure that data in a sharded database system is always -on specific shards. For example, with tag aware sharding, you can -ensure that data is closest to the application servers that use that -data most frequently. - -Shard tagging controls data location, and is complementary but -separate from replica set tagging, which controls :doc:`read -preference ` and :ref:`write concern -`. For example, shard tagging can pin all -"USA" data to one or more logical shards, while replica set tagging -can control which :binary:`~bin.mongod` instances (e.g. "``production``" -or "``reporting``") the application uses to service requests. - -See the documentation for the following helpers in the ``mongo`` -shell that support tagged sharding configuration: - -- :method:`sh.addShardTag()` -- :method:`sh.addTagRange()` -- :method:`sh.removeShardTag()` - -Fully Supported Read Preference Semantics -````````````````````````````````````````` - -All MongoDB clients and drivers now support full :doc:`read -preferences `, including consistent -support for a full range of :ref:`read preference modes -` and :ref:`tag sets -`. This support extends to the -:binary:`~bin.mongos` and applies identically to single replica sets and -to the replica sets for each shard in a :term:`sharded cluster`. - -Additional read preference support now exists in the ``mongo`` -shell using the :method:`~cursor.readPref()` cursor method. - -.. including tagging - -Compatibility Changes -~~~~~~~~~~~~~~~~~~~~~ - -Authentication Changes -`````````````````````` - -MongoDB 2.2 provides more reliable and robust support for -authentication clients, including drivers and :binary:`~bin.mongos` -instances. - -If your cluster runs with authentication: - -- For all drivers, use the latest release of your driver and check - its release notes. - -- In sharded environments, - to ensure that your cluster remains available during the upgrade - process you **must** use the :ref:`upgrade procedure for sharded clusters - <2.2-upgrade-shard-cluster>`. - -.. _2.2-findandmodify-returns-null: - -``findAndModify`` Returns Null Value for Upserts that Perform Inserts -````````````````````````````````````````````````````````````````````` - -In version 2.2, for :term:`upsert` that perform inserts with the -``new`` option set to ``false``, :dbcommand:`findAndModify` commands will -now return the following output: - -.. code-block:: javascript - - { 'ok': 1.0, 'value': null } - -In the ``mongo`` shell, upsert :dbcommand:`findAndModify` -operations that perform inserts (with ``new`` set to ``false``.)only output a ``null`` value. - -In version 2.0 these operations would return an empty document, -e.g. ``{ }``. - -See: :issue:`SERVER-6226` for more information. - -``mongodump`` 2.2 Output Incompatible with Pre-2.2 ``mongorestore`` -``````````````````````````````````````````````````````````````````` - -If you use the :binary:`~bin.mongodump` tool from the 2.2 distribution to -create a dump of a database, you must use a 2.2 (or later) version of -:binary:`~bin.mongorestore` to restore that dump. - -See: :issue:`SERVER-6961` for more information. - -.. _2.2-ObjectId-toString-valueOf-methods: - -``ObjectId().toString()`` Returns String Literal ``ObjectId("...")`` -```````````````````````````````````````````````````````````````````` - -In version 2.2, the :method:`~ObjectId.toString()` method returns the -string representation of the :ref:`ObjectId() ` -object and has the format ``ObjectId("...")``. - -Consider the following example that calls the -:method:`~ObjectId.toString()` method on the -``ObjectId("507c7f79bcf86cd7994f6c0e")`` object: - -.. code-block:: javascript - - ObjectId("507c7f79bcf86cd7994f6c0e").toString() - -The method now returns the *string* -``ObjectId("507c7f79bcf86cd7994f6c0e")``. - -Previously, in version 2.0, the method would return the *hexadecimal -string* ``507c7f79bcf86cd7994f6c0e``. - -If compatibility between versions 2.0 and 2.2 is required, use -:ref:`ObjectId().str `, which holds the -hexadecimal string value in both versions. - -``ObjectId().valueOf()`` Returns hexadecimal string -``````````````````````````````````````````````````` - -In version 2.2, the :method:`~ObjectId.valueOf()` method returns the -value of the :ref:`ObjectId() ` object as a -lowercase hexadecimal string. - -Consider the following example that calls the :method:`~ObjectId.valueOf()` method on the -``ObjectId("507c7f79bcf86cd7994f6c0e")`` object: - -.. code-block:: javascript - - ObjectId("507c7f79bcf86cd7994f6c0e").valueOf() - -The method now returns the *hexadecimal string* -``507c7f79bcf86cd7994f6c0e``. - -Previously, in version 2.0, the method would return the *object* -``ObjectId("507c7f79bcf86cd7994f6c0e")``. - -If compatibility between versions 2.0 and 2.2 is required, use -:ref:`ObjectId().str ` attribute, which holds the -hexadecimal string value in both versions. - -Behavioral Changes -~~~~~~~~~~~~~~~~~~ - -.. _rn-2.2-collection-name-restriction: - -Restrictions on Collection Names -```````````````````````````````` - -In version 2.2, collection names cannot: - -- contain the ``$``. - -- be an empty string (i.e. ``""``). - -This change does not affect collections created with now illegal names -in earlier versions of MongoDB. - -These new restrictions are in addition to the existing restrictions on -collection names which are: - -- A collection name should begin with a letter or an underscore. - -- A collection name cannot contain the null character. - -- Begin with the ``system.`` prefix. MongoDB - reserves ``system.`` - for system collections, such as the - ``system.indexes`` collection. - -- The maximum size of a collection name is 128 characters, including - the name of the database. However, for maximum flexibility, - collections should have names less than 80 characters. - -Collections names may have any other valid UTF-8 string. - -See the :issue:`SERVER-4442` and the -:ref:`faq-restrictions-on-collection-names` FAQ item. - -.. _rn-2.2-database-name-restriction-windows: - -Restrictions on Database Names for Windows -`````````````````````````````````````````` - -Database names running on Windows can no longer contain the following -characters: - -.. code-block:: none - - /\. "*<>:|? - -The names of the data files include the database name. If you attempt -to upgrade a database instance with one or more of these characters, -:binary:`~bin.mongod` will refuse to start. - -Change the name of these databases before upgrading. See -:issue:`SERVER-4584` and :issue:`SERVER-6729` for more information. - -.. _2.2-id-indexes-capped-collections: - -``_id`` Fields and Indexes on Capped Collections -```````````````````````````````````````````````` - -All :term:`capped collections ` now have an ``_id`` -field by default, *if* they exist outside of the ``local`` database, -and now have indexes on the ``_id`` field. This change only affects capped -collections created with 2.2 instances and does not affect existing -capped collections. - -See: :issue:`SERVER-5516` for more information. - -New ``$elemMatch`` Projection Operator -`````````````````````````````````````` - -The :projection:`$elemMatch` operator allows applications to narrow -the data returned from queries so that the query operation will only -return the first matching element in an array. See the -:projection:`$elemMatch` reference and the -:issue:`SERVER-2238` and :issue:`SERVER-828` issues for more -information. - -Windows Specific Changes -~~~~~~~~~~~~~~~~~~~~~~~~ - -Windows XP is Not Supported -``````````````````````````` - -As of 2.2, MongoDB does not support Windows XP. Please upgrade to a -more recent version of Windows to use the latest releases of -MongoDB. See :issue:`SERVER-5648` for more information. - -Service Support for ``mongos.exe`` -`````````````````````````````````` - -You may now run :binary:`mongos.exe` instances as a Windows -Service. - -Log Rotate Command Support -`````````````````````````` - -MongoDB for Windows now supports log rotation by way of the -:dbcommand:`logRotate` database command. See :issue:`SERVER-2612` for -more information. - -New Build Using SlimReadWrite Locks for Windows Concurrency -``````````````````````````````````````````````````````````` - -Labeled "2008+" on the `Downloads Page`_, this build for 64-bit -versions of Windows Server 2008 R2 and for Windows 7 or newer, offers -increased performance over the standard 64-bit Windows build of -MongoDB. See :issue:`SERVER-3844` for more information. - -.. _`Downloads Page`: http://www.mongodb.org/downloads - -Tool Improvements -~~~~~~~~~~~~~~~~~ - -Index Definitions Handled by ``mongodump`` and ``mongorestore`` -``````````````````````````````````````````````````````````````` - -When you specify the ``--collection`` -option to :binary:`~bin.mongodump`, :binary:`~bin.mongodump` will now backup -the definitions for all indexes that exist on the source -database. When you attempt to restore this backup with -:binary:`~bin.mongorestore`, the target :binary:`~bin.mongod` will rebuild all -indexes. See :issue:`SERVER-808` for more information. - -:binary:`~bin.mongorestore` now includes the ``--noIndexRestore`` option -to provide the preceding behavior. Use ``--noIndexRestore`` to prevent -:binary:`~bin.mongorestore` from building previous indexes. - -``mongooplog`` for Replaying Oplogs -``````````````````````````````````` - -The ``mongooplog`` tool makes it possible to pull :term:`oplog` -entries from :binary:`~bin.mongod` instance and apply them to another -:binary:`~bin.mongod` instance. You can use ``mongooplog`` to -achieve point-in-time backup of a MongoDB data set. See the -:issue:`SERVER-3873` case and the ``mongooplog`` -reference. - -Authentication Support for ``mongotop`` and ``mongostat`` -````````````````````````````````````````````````````````` - -:binary:`~bin.mongotop` and :binary:`~bin.mongostat` now contain support for -username/password authentication. See :issue:`SERVER-3875` and -:issue:`SERVER-3871` for more information regarding this change. Also -consider the documentation of the following options for additional -information: - -- ``mongotop --username`` -- ``mongotop --password`` -- ``mongostat --username`` -- ``mongostat --password`` - -Write Concern Support for ``mongoimport`` and ``mongorestore`` -`````````````````````````````````````````````````````````````` - -:binary:`~bin.mongoimport` now provides an option to halt the import if -the operation encounters an error, such as a network interruption, a -duplicate key exception, or a write error. -The ``--stopOnError`` option -will -produce an error rather than silently continue importing data. See -:issue:`SERVER-3937` for more information. - -In :binary:`~bin.mongorestore`, the ``--w`` -option provides support for configurable write concern. - -``mongodump`` Support for Reading from Secondaries -`````````````````````````````````````````````````` - -You can now run :binary:`~bin.mongodump` when connected to a -:term:`secondary` member of a :term:`replica set`. See -:issue:`SERVER-3854` for more information. - -``mongoimport`` Support for full 16MB Documents -``````````````````````````````````````````````` - -Previously, :binary:`~bin.mongoimport` would only import documents that -were less than 4 megabytes in size. This issue is now corrected, and -you may use :binary:`~bin.mongoimport` to import documents that are at -least 16 megabytes ins size. See :issue:`SERVER-4593` for more -information. - -``Timestamp()`` Extended JSON format -```````````````````````````````````` - -MongoDB extended JSON now includes a new ``Timestamp()`` type to -represent the Timestamp type that MongoDB uses for timestamps in the -:term:`oplog` among other contexts. - -This permits tools like ``mongooplog`` and :binary:`~bin.mongodump` -to query for specific timestamps. Consider the following -:binary:`~bin.mongodump` operation: - -.. code-block:: bash - - mongodump --db local --collection oplog.rs --query '{"ts":{"$gt":{"$timestamp" : {"t": 1344969612000, "i": 1 }}}}' --out oplog-dump - -See :issue:`SERVER-3483` for more information. - -Shell Improvements -~~~~~~~~~~~~~~~~~~ - -Improved Shell User Interface -````````````````````````````` - -2.2 includes a number of changes that improve the overall quality and -consistency of the user interface for the ``mongo`` shell: - -- Full Unicode support. - -- Bash-like line editing features. See :issue:`SERVER-4312` for more - information. - -- Multi-line command support in shell history. - See :issue:`SERVER-3470` for more information. - -- Windows support for the ``edit`` command. See :issue:`SERVER-3998` for - more information. - -Helper to load Server-Side Functions -```````````````````````````````````` - -The ``db.loadServerScripts()`` method loads the contents of the current -database's ``system.js`` collection into the current ``mongo`` -shell session. See :issue:`SERVER-1651` for more information. - -Support for Bulk Inserts -```````````````````````` - -If you pass an array of :term:`documents ` to the -:method:`~db.collection.insert()` method, the ``mongo`` -shell will now perform a bulk insert operation. See -:issue:`SERVER-3819` and :issue:`SERVER-2395` for more information. - -.. include:: /includes/note-bulk-inserts-on-sharded-clusters.rst - -Operations -~~~~~~~~~~ - -Support for Logging to Syslog -````````````````````````````` - -See the :issue:`SERVER-2957` case and the documentation of -the :setting:`~systemLog.syslogFacility` run-time option or the :option:`mongod --syslog` -and :option:`mongos --syslog` command line-options. - -``touch`` Command -````````````````` - -Added the ``touch`` command to read the data and/or indexes -from a collection into memory. See: :issue:`SERVER-2023` and -``touch`` for more information. - -``indexCounters`` No Longer Report Sampled Data -``````````````````````````````````````````````` - -``indexCounters`` now report actual counters that reflect index -use and state. In previous versions, these data were sampled. See -:issue:`SERVER-5784` and ``indexCounters`` for more information. - -Padding Specifiable on ``compact`` Command -`````````````````````````````````````````` - -See the documentation of the :dbcommand:`compact` and the -:issue:`SERVER-4018` issue for more information. - -.. todo:: fix documentation and link - -Added Build Flag to Use System Libraries -```````````````````````````````````````` - -The Boost library, version 1.49, is now embedded in the MongoDB -code base. - -If you want to build MongoDB binaries using system Boost libraries, -you can pass ``scons`` using the ``--use-system-boost`` flag, as follows: - -.. code-block:: bash - - scons --use-system-boost - -When building MongoDB, you can also pass ``scons`` a flag to compile -MongoDB using only system libraries rather than the included versions -of the libraries. For example: - -.. code-block:: bash - - scons --use-system-all - -See the :issue:`SERVER-3829` and :issue:`SERVER-5172` issues for more -information. - -Memory Allocator Changed to TCMalloc -```````````````````````````````````` - -To improve performance, MongoDB 2.2 uses the TCMalloc memory -allocator from Google Perftools. For more information about this -change see the :issue:`SERVER-188` and :issue:`SERVER-4683`. For more -information about TCMalloc, see the documentation of `TCMalloc`_ itself. - -.. _`TCMalloc`: http://goog-perftools.sourceforge.net/doc/tcmalloc.html - -Replication -~~~~~~~~~~~ - -Improved Logging for Replica Set Lag -```````````````````````````````````` - -When :term:`secondary` members of a replica set fall behind in -replication, :binary:`~bin.mongod` now provides better reporting in the -log. This makes it possible to track replication in general and -identify what process may produce errors or halt replication. See -:issue:`SERVER-3575` for more information. - -Replica Set Members can Sync from Specific Members -`````````````````````````````````````````````````` - -.. the following has been copied to source/administration/replica-sets.txt - -The new :dbcommand:`replSetSyncFrom` command and new -:method:`rs.syncFrom()` helper in the ``mongo`` shell make it -possible for you to manually configure from which member of the set a -replica will poll :term:`oplog` entries. Use these commands to -override the default selection logic if needed. Always exercise -caution with :dbcommand:`replSetSyncFrom` when overriding the default -behavior. - -Replica Set Members will not Sync from Members Without Indexes Unless ``buildIndexes: false`` -````````````````````````````````````````````````````````````````````````````````````````````` - -.. the following has been copied to source/replication-internals.txt - -To prevent inconsistency between members of replica sets, if the -member of a replica set has -:rsconf:`buildIndexes ` set to ``true``, -other members of the replica set will *not* sync from this member, -unless they also have -:rsconf:`buildIndexes ` set to ``true``. See -:issue:`SERVER-4160` for more information. - -New Option To Configure Index Pre-Fetching during Replication -````````````````````````````````````````````````````````````` - -.. the following has been copied to source/replication-internals.txt - -By default, when replicating options, :term:`secondaries ` -will pre-fetch :ref:`indexes` associated with a query to improve replication -throughput in most cases. The ``replication.secondaryIndexPrefetch`` setting and -```--replIndexPrefetch`` option allow administrators to disable -this feature or allow the :binary:`~bin.mongod` to pre-fetch only the -index on the ``_id`` field. See :issue:`SERVER-6718` for more information. - -Map Reduce Improvements -~~~~~~~~~~~~~~~~~~~~~~~ - -In 2.2 Map Reduce received the following improvements: - -- :issue:`Improved support for sharded MapReduce `, and -- :issue:`MapReduce will retry jobs following a config error `. - -Sharding Improvements -~~~~~~~~~~~~~~~~~~~~~ - -Index on Shard Keys Can Now Be a Compound Index -``````````````````````````````````````````````` - -If your shard key uses the prefix of an existing index, then you do not -need to maintain a separate index for your shard key in addition to -your existing index. This index, however, cannot be a multi-key -index. See the :ref:`sharding-shard-key-indexes` documentation and -:issue:`SERVER-1506` for more information. - -Migration Thresholds Modified -````````````````````````````` - -The :ref:`migration thresholds ` have -changed in 2.2 to permit more even distribution of :term:`chunks -` in collections that have smaller quantities of data. See the -:ref:`sharding-migration-thresholds` documentation for more -information. - -.. Withholding from release notes. Internal feature. - - Option to Disable ``splitVector`` for :binary:`~bin.mongos` Instances - ````````````````````````````````````````````````````````````````` - - By default, all :binary:`~bin.mongos` instances are responsible for - creating chunk splits. For deployments with large numbers of - :binary:`~bin.mongos` instances, this may impact the performance of the - cluster. - - To ameliorate the additional load generated by these operations, - the new :binary:`~bin.mongos` option :option:`--noAutoSplit ` - disables chunk splitting for individual :binary:`~bin.mongos` instances. - - See :issue:`SERVER-6305` for more information. - -Licensing Changes ------------------ - -Added License notice for Google Perftools (TCMalloc Utility). See the -`License Notice `_ -and the :issue:`SERVER-4683` for more information. - -Resources ---------- - -- `MongoDB Downloads `_. -- `All JIRA issues resolved in 2.2 `_. -- `All backwards incompatible changes `_. -- `All third party license notices `_. -- `What's New in MongoDB 2.2 Online Conference `_. diff --git a/source/release-notes/2.4-changelog.txt b/source/release-notes/2.4-changelog.txt deleted file mode 100644 index 5c41372944d..00000000000 --- a/source/release-notes/2.4-changelog.txt +++ /dev/null @@ -1,97 +0,0 @@ -.. _release-notes-2.4: - -============= -2.4 Changelog -============= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -.. _2.4.14-changelog: - -2.4.14 ------- - -- Packaging: Init script sets process ulimit to different value - compared to documentation (:issue:`SERVER-17780`) -- Security: Compute BinData length in v8 (:issue:`SERVER-17647`) -- Build: Upgrade PCRE Version from 8.30 to Latest (:issue:`SERVER-17252`) - -.. _2.4.13-changelog: - -2.4.13 - Changes ----------------- - -- Security: Enforce BSON BinData length validation (:issue:`SERVER-17278`) -- Security: Disable SSLv3 ciphers (:issue:`SERVER-15673`) -- Networking: Improve BSON validation (:issue:`SERVER-17264`) - -.. _2.4.12-changelog: - -2.4.12 - Changes ----------------- - -- Sharding: Sharded connection cleanup on setup error can crash mongos (:issue:`SERVER-15056`) -- Sharding: "type 7" (OID) error when acquiring distributed lock for first time (:issue:`SERVER-13616`) -- Storage: explicitly zero .ns files on creation (:issue:`SERVER-15369`) -- Storage: partially written journal last section causes recovery to fail (:issue:`SERVER-15111`) - -.. _2.4.11-changelog: - -2.4.11 - Changes ----------------- - -- Security: Potential information leak (:issue:`SERVER-14268`) -- Replication: ``_id`` with ``$prefix`` field causes replication failure due to unvalidated insert (:issue:`SERVER-12209`) -- Sharding: Invalid access: seg fault in ``SplitChunkCommand::run`` (:issue:`SERVER-14342`) -- Indexing: Creating descending index on ``_id`` can corrupt namespace (:issue:`SERVER-14833`) -- Text Search: Updates to documents with text-indexed fields may lead to incorrect entries (:issue:`SERVER-14738`) -- Build: Add SCons flag to override treating all warnings as errors (:issue:`SERVER-13724`) -- Packaging: Fix mongodb enterprise 2.4 init script to allow multiple processes per host (:issue:`SERVER-14336`) -- JavaScript: Do not store native function pointer as a property in function prototype (:issue:`SERVER-14254`) - -.. _2.4.10-changelog: - -2.4.10 - Changes ----------------- - -- Indexes: Fixed issue that can cause index corruption when building indexes concurrently (:issue:`SERVER-12990`) -- Indexes: Fixed issue that can cause index corruption when shutting down secondary node during index build (:issue:`SERVER-12956`) -- Indexes: Mongod now recognizes incompatible “future” text and geo index versions and exits gracefully (:issue:`SERVER-12914`) -- Indexes: Fixed issue that can cause secondaries to fail replication when building the same index multiple times concurrently (:issue:`SERVER-12662`) -- Indexes: Fixed issue that can cause index corruption on the tenth index in a collection if the index build fails (:issue:`SERVER-12481`) -- Indexes: Introduced versioning for text and geo indexes to ensure backwards compatibility (:issue:`SERVER-12175`) -- Indexes: Disallowed building indexes on the system.indexes collection, which can lead to initial sync failure on secondaries (:issue:`SERVER-10231`) -- Sharding: Avoid frequent immediate balancer retries when config servers are out of sync (:issue:`SERVER-12908`) -- Sharding: Add indexes to locks collection on config servers to avoid long queries in case of large numbers of collections (:issue:`SERVER-12548`) -- Sharding: Fixed issue that can corrupt the config metadata cache when sharding collections concurrently (:issue:`SERVER-12515`) -- Sharding: Don't move chunks created on collections with a hashed shard key if the collection already contains data (:issue:`SERVER-9259`) -- Replication: Fixed issue where node appears to be down in a replica set during a compact operation (:issue:`SERVER-12264`) -- Replication: Fixed issue that could cause delays in elections when a node is not vetoing an election (:issue:`SERVER-12170`) -- Replication: Step down all primaries if multiple primaries are detected in replica set to ensure correct election result (:issue:`SERVER-10793`) -- Replication: Upon clock skew detection, secondaries will switch to sync directly from the primary to avoid sync cycles (:issue:`SERVER-8375`) -- Runtime: The SIGXCPU signal is now caught and mongod writes a log message and exits gracefully (:issue:`SERVER-12034`) -- Runtime: Fixed issue where mongod fails to start on Linux when /sys/dev/block directory is not readable (:issue:`SERVER-9248`) -- Windows: No longer zero-fill newly allocated files on systems other than Windows 7 or Windows Server 2008 R2 (:issue:`SERVER-8480`) -- GridFS: Chunk size is decreased to 255 kB (from 256 kB) to avoid overhead with usePowerOf2Sizes option (:issue:`SERVER-13331`) -- SNMP: Fixed MIB file validation under smilint (:issue:`SERVER-12487`) -- Shell: Fixed issue in V8 memory allocation that could cause long-running shell commands to crash (:issue:`SERVER-11871`) -- Shell: Fixed memory leak in the md5sumFile shell utility method (:issue:`SERVER-11560`) - -Previous Releases ------------------ - -- `All 2.4.9 improvements `_. -- `All 2.4.8 improvements `_. -- `All 2.4.7 improvements `_. -- `All 2.4.6 improvements `_. -- `All 2.4.5 improvements `_. -- `All 2.4.4 improvements `_. -- `All 2.4.3 improvements `_. -- `All 2.4.2 improvements `_ -- `All 2.4.1 improvements `_. diff --git a/source/release-notes/2.4-index-types.txt b/source/release-notes/2.4-index-types.txt deleted file mode 100644 index b7ccc849b7d..00000000000 --- a/source/release-notes/2.4-index-types.txt +++ /dev/null @@ -1,76 +0,0 @@ -=================================================== -Compatibility and Index Type Changes in MongoDB 2.4 -=================================================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -In 2.4 MongoDB includes two new features related to indexes that users -upgrading to version 2.4 must consider, particularly with regard to -possible downgrade paths. For more information on downgrades, see -:ref:`2.4-downgrade`. - -New Index Types ---------------- - -In 2.4 MongoDB adds two new index types: ``2dsphere`` and -``text``. These index types do not exist in 2.2, and for each -database, creating a ``2dsphere`` or ``text`` index, will upgrade the -data-file version and make that database incompatible with 2.2. - -If you intend to downgrade, you should always drop all ``2dsphere`` -and ``text`` indexes before moving to 2.2. - -You can use the :ref:`downgrade procedure <2.4-downgrade>` to downgrade these -databases and run 2.2 if needed, however this will run a full database -repair (as with ``repairDatabase``) for all affected -databases. - -.. _2.4-index-type-validation: - -Index Type Validation ---------------------- - -In MongoDB 2.2 and earlier you could specify invalid index types that -did not exist. In these situations, MongoDB would create an ascending -(e.g. ``1``) index. Invalid indexes include index types specified by -strings that do not refer to an existing index type, and all numbers -other than ``1`` and ``-1``. [#grandfathered-indexes]_ - -In 2.4, creating any invalid index will result in an error. -Furthermore, you cannot create a ``2dsphere`` or ``text`` index on a -collection if its containing database has any invalid index types. -[#grandfathered-indexes]_ - -.. example:: - - If you attempt to add an invalid index in MongoDB 2.4, as in the - following: - - .. code-block:: javascript - - db.coll.ensureIndex( { field: "1" } ) - - MongoDB will return the following error document: - - .. code-block:: javascript - - { - "err" : "Unknown index plugin '1' in index { field: \"1\" }" - "code": 16734, - "n": , - "connectionId": , - "ok": 1 - } - -.. [#grandfathered-indexes] In 2.4, indexes that specify a type of - ``"1"`` or ``"-1"`` (the strings ``"1"`` and ``"-1"``) will continue - to exist, despite a warning on start-up. **However**, a - :term:`secondary` in a replica set cannot complete an initial sync - from a primary that has a ``"1"`` or ``"-1"`` index. Avoid all - indexes with invalid types. diff --git a/source/release-notes/2.4-javascript.txt b/source/release-notes/2.4-javascript.txt deleted file mode 100644 index a5d09b05bfa..00000000000 --- a/source/release-notes/2.4-javascript.txt +++ /dev/null @@ -1,447 +0,0 @@ -================================= -JavaScript Changes in MongoDB 2.4 -================================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Consider the following impacts of :ref:`2.4-release-javascript-change` in -MongoDB 2.4: - -.. tip:: - - Use the new ``interpreterVersion()`` method in the - ``mongo`` shell and the :data:`~buildInfo.javascriptEngine` - field in the output of :method:`db.serverBuildInfo()` to determine - which JavaScript engine a MongoDB binary uses. - -Improved Concurrency --------------------- - -Previously, MongoDB operations that required the JavaScript interpreter -had to acquire a lock, and a single :binary:`~bin.mongod` could only run a -single JavaScript operation at a time. The switch to V8 improves -concurrency by permitting multiple JavaScript operations to run at the -same time. - -Modernized JavaScript Implementation (ES5) ------------------------------------------- - -The 5th edition of `ECMAscript -`_, -abbreviated as ES5, adds many new language features, including: - -- standardized `JSON - `_, - -- `strict mode - `_, - -- `function.bind() - `_, - -- `array extensions - `_, and - -- getters and setters. - -With V8, MongoDB supports the ES5 implementation of Javascript with the -following exceptions. - -.. note:: - - The following features do not work as expected on documents - **returned from MongoDB queries**: - - - ``Object.seal()`` throws an exception on documents returned from - MongoDB queries. - - - ``Object.freeze()`` throws an exception on documents returned from - MongoDB queries. - - - ``Object.preventExtensions()`` incorrectly allows the addition of - new properties on documents returned from MongoDB queries. - - - ``enumerable`` properties, when added to documents returned from - MongoDB queries, are not saved during write operations. - - See :issue:`SERVER-8216`, :issue:`SERVER-8223`, - :issue:`SERVER-8215`, and :issue:`SERVER-8214` for more information. - - For objects that have not been returned from MongoDB queries, the - features work as expected. - -Removed Non-Standard SpiderMonkey Features ------------------------------------------- - -V8 does **not** support the following *non-standard* `SpiderMonkey -`_ JavaScript -extensions, previously supported by MongoDB's use of SpiderMonkey as -its JavaScript engine. - -E4X Extensions -~~~~~~~~~~~~~~ - -V8 does not support the *non-standard* E4X extensions. E4X -provides a native XML object to the JavaScript language and adds the syntax for embedding -literal XML documents in JavaScript code. - -You need to use alternative XML processing if you used any of the -following constructors/methods: - -- ``XML()`` - -- ``Namespace()`` - -- ``QName()`` - -- ``XMLList()`` - -- ``isXMLName()`` - -Destructuring Assignment -~~~~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support the non-standard destructuring assignments. -Destructuring assignment "extract[s] data from arrays or objects using -a syntax that mirrors the construction of array and object literals." - -`Mozilla docs -`_ - -.. example:: - - The following destructuring assignment is **invalid** with V8 and - throws a ``SyntaxError``: - - .. code-block:: javascript - - original = [4, 8, 15]; - var [b, ,c] = a; // <== destructuring assignment - print(b) // 4 - print(c) // 15 - -``Iterator()``, ``StopIteration()``, and Generators -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support `Iterator(), StopIteration(), and generators -`_. - -``InternalError()`` -~~~~~~~~~~~~~~~~~~~ - -V8 does not support ``InternalError()``. Use ``Error()`` instead. - -``for each...in`` Construct -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support the use of ``for each...in`` -construct. Use ``for (var x in y)`` construct -instead. - -.. example:: - - The following ``for each (var x in y)`` construct is **invalid** - with V8: - - .. code-block:: javascript - - var o = { name: 'MongoDB', version: 2.4 }; - - for each (var value in o) { - print(value); - } - - Instead, in version 2.4, you can use the ``for (var x in y)`` - construct: - - .. code-block:: javascript - - var o = { name: 'MongoDB', version: 2.4 }; - - for (var prop in o) { - var value = o[prop]; - print(value); - } - - You can also use the array *instance* method ``forEach()`` with the - ES5 method ``Object.keys()``: - - .. code-block:: javascript - - Object.keys(o).forEach(function (key) { - var value = o[key]; - print(value); - }); - -Array Comprehension -~~~~~~~~~~~~~~~~~~~ - -V8 does not support `Array comprehensions -`_. - -Use other methods such as the ``Array`` instance methods ``map()``, -``filter()``, or ``forEach()``. - -.. example:: - - With V8, the following array comprehension is **invalid**: - - .. code-block:: javascript - - var a = { w: 1, x: 2, y: 3, z: 4 } - - var arr = [i * i for each (i in a) if (i > 2)] - printjson(arr) - - Instead, you can implement using the ``Array`` *instance* method - ``forEach()`` and the ES5 method ``Object.keys()`` : - - .. code-block:: javascript - - var a = { w: 1, x: 2, y: 3, z: 4 } - - var arr = []; - Object.keys(a).forEach(function (key) { - var val = a[key]; - if (val > 2) arr.push(val * val); - }) - printjson(arr) - - .. note:: - - The new logic uses the ``Array`` *instance* method ``forEach()`` and - not the *generic* method ``Array.forEach()``; V8 does **not** - support ``Array`` *generic* methods. See :ref:`array-generics` for - more information. - -Multiple Catch Blocks -~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support multiple ``catch`` blocks and will throw a -``SyntaxError``. - -.. example:: - - The following multiple catch blocks is **invalid** with V8 and will - throw ``"SyntaxError: Unexpected token if"``: - - .. code-block:: javascript - - try { - something() - } catch (err if err instanceof SomeError) { - print('some error') - } catch (err) { - print('standard error') - } - -Conditional Function Definition -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -V8 will produce different outcomes than SpiderMonkey with `conditional -function definitions -`_. - -.. example:: - - The following conditional function definition produces different - outcomes in SpiderMonkey versus V8: - - .. code-block:: javascript - - function test () { - if (false) { - function go () {}; - } - print(typeof go) - } - - With SpiderMonkey, the conditional function outputs ``undefined``, - whereas with V8, the conditional function outputs ``function``. - - If your code defines functions this way, it is highly recommended - that you refactor the code. The following example refactors the - conditional function definition to work in both SpiderMonkey and V8. - - .. code-block:: javascript - - function test () { - var go; - if (false) { - go = function () {} - } - print(typeof go) - } - - The refactored code outputs ``undefined`` in both SpiderMonkey and V8. - -.. note:: - - ECMAscript prohibits conditional function definitions. To force V8 - to throw an ``Error``, `enable strict mode - `_. - - .. code-block:: javascript - - function test () { - 'use strict'; - - if (false) { - function go () {} - } - } - - The JavaScript code throws the following syntax error: - - .. code-block:: none - - SyntaxError: In strict mode code, functions can only be declared at top level or immediately within another function. - -String Generic Methods -~~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support `String generics -`_. -String generics are a set of methods on the ``String`` class that -mirror instance methods. - -.. example:: - - The following use of the generic method - ``String.toLowerCase()`` is **invalid** with V8: - - .. code-block:: javascript - - var name = 'MongoDB'; - - var lower = String.toLowerCase(name); - - With V8, use the ``String`` instance method ``toLowerCase()`` available - through an *instance* of the ``String`` class instead: - - .. code-block:: javascript - - var name = 'MongoDB'; - - var lower = name.toLowerCase(); - print(name + ' becomes ' + lower); - -With V8, use the ``String`` *instance* methods instead of following -*generic* methods: - -.. list-table:: - - * - ``String.charAt()`` - - ``String.quote()`` - - ``String.toLocaleLowerCase()`` - - * - ``String.charCodeAt()`` - - ``String.replace()`` - - ``String.toLocaleUpperCase()`` - - * - ``String.concat()`` - - ``String.search()`` - - ``String.toLowerCase()`` - - * - ``String.endsWith()`` - - ``String.slice()`` - - ``String.toUpperCase()`` - - * - ``String.indexOf()`` - - ``String.split()`` - - ``String.trim()`` - - * - ``String.lastIndexOf()`` - - ``String.startsWith()`` - - ``String.trimLeft()`` - - * - ``String.localeCompare()`` - - ``String.substr()`` - - ``String.trimRight()`` - - * - ``String.match()`` - - ``String.substring()`` - - - -.. _array-generics: - -Array Generic Methods -~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support `Array generic methods -`_. -Array generics are a set of methods on the ``Array`` class that mirror -instance methods. - -.. example:: - - The following use of the generic method ``Array.every()`` is - **invalid** with V8: - - .. code-block:: javascript - - var arr = [4, 8, 15, 16, 23, 42]; - - function isEven (val) { - return 0 === val % 2; - } - - var allEven = Array.every(arr, isEven); - print(allEven); - - With V8, use the ``Array`` instance method ``every()`` available through - an *instance* of the ``Array`` class instead: - - .. code-block:: javascript - - var allEven = arr.every(isEven); - print(allEven); - -With V8, use the ``Array`` *instance* methods instead of the following -*generic* methods: - -.. list-table:: - - * - ``Array.concat()`` - - ``Array.lastIndexOf()`` - - ``Array.slice()`` - - * - ``Array.every()`` - - ``Array.map()`` - - ``Array.some()`` - - * - ``Array.filter()`` - - ``Array.pop()`` - - ``Array.sort()`` - - * - ``Array.forEach()`` - - ``Array.push()`` - - ``Array.splice()`` - - * - ``Array.indexOf()`` - - ``Array.reverse()`` - - ``Array.unshift()`` - - * - ``Array.join()`` - - ``Array.shift()`` - - - -Array Instance Method ``toSource()`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -V8 does not support the ``Array`` instance method `toSource() -`_. -Use the ``Array`` instance method ``toString()`` instead. - -``uneval()`` -~~~~~~~~~~~~ - -V8 does not support the non-standard method ``uneval()``. Use the -standardized `JSON.stringify() -`_ -method instead. diff --git a/source/release-notes/2.4-upgrade.txt b/source/release-notes/2.4-upgrade.txt deleted file mode 100644 index e2c3b309c23..00000000000 --- a/source/release-notes/2.4-upgrade.txt +++ /dev/null @@ -1,616 +0,0 @@ -====================== -Upgrade MongoDB to 2.4 -====================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -In the general case, the upgrade from MongoDB 2.2 to 2.4 is a -binary-compatible "drop-in" upgrade: shut down the :binary:`~bin.mongod` -instances and replace them with :binary:`~bin.mongod` instances running -2.4. **However**, before you attempt any upgrade please familiarize -yourself with the content of this document, particularly the procedure -for :ref:`upgrading sharded clusters <2.4-upgrade-cluster>` and the -considerations for :ref:`reverting to 2.2 after running 2.4 -<2.4-downgrade>`. - -Upgrade Recommendations and Checklist -------------------------------------- - -When upgrading, consider the following: - -- For all deployments using authentication, upgrade the - drivers (i.e. client libraries), before upgrading the - :binary:`~bin.mongod` instance or instances. - -- To upgrade to 2.4 sharded clusters *must* upgrade following the - :ref:`meta-data upgrade procedure <2.4-upgrade-cluster>`. - -- If you're using 2.2.0 and running with :setting:`~security.authorization` enabled, you - will need to upgrade first to 2.2.1 and then upgrade to 2.4. See - :ref:`2.4-upgrade-auth-limitation`. - -- If you have ``system.users`` documents - (i.e. for :setting:`~security.authorization`) that you created before 2.4 you *must* - ensure that there are no duplicate values for the ``user`` field in - the ``system.users`` collection in - *any* database. If you *do* have documents with duplicate user - fields, you must remove them before upgrading. - - See :ref:`2.4-unique-users` for more information. - -.. _2.4-upgrade-standalone: - -Upgrade Standalone ``mongod`` Instance to MongoDB 2.4 ------------------------------------------------------ - -#. Download binaries of the latest release in the 2.4 series from the - `MongoDB Download Page`_. See :doc:`/installation` for more - information. - -#. Shutdown your :binary:`~bin.mongod` instance. Replace the existing - binary with the 2.4 :binary:`~bin.mongod` binary and restart :binary:`~bin.mongod`. - - -.. _`MongoDB Download Page`: http://www.mongodb.org/downloads - -.. _2.4-upgrade-replica-set: - -Upgrade a Replica Set from MongoDB 2.2 to MongoDB 2.4 ------------------------------------------------------ - -You can upgrade to 2.4 by performing a "rolling" -upgrade of the set by upgrading the members individually while the -other members are available to minimize downtime. Use the following -procedure: - -#. Upgrade the :term:`secondary` members of the set one at a time by - shutting down the :binary:`~bin.mongod` and replacing the 2.2 binary - with the 2.4 binary. After upgrading a :binary:`~bin.mongod` instance, - wait for the member to recover to ``SECONDARY`` state - before upgrading the next instance. - To check the member's state, issue :method:`rs.status()` in the - ``mongo`` shell. - -#. Use the ``mongo`` shell method :method:`rs.stepDown()` to - step down the :term:`primary` to allow the normal :ref:`failover - ` procedure. :method:`rs.stepDown()` - expedites the failover procedure and is preferable to shutting down - the primary directly. - - Once the primary has stepped down and another member has assumed - ``PRIMARY`` state, as observed in the output of - :method:`rs.status()`, shut down the previous primary and replace - :binary:`~bin.mongod` binary with the 2.4 binary and start the new - process. - - .. note:: Replica set failover is not instant but will - render the set unavailable to read or accept writes - until the failover process completes. Typically this takes - 10 seconds or more. You may wish to plan the upgrade during - a predefined maintenance window. - -.. _2.4-upgrade-cluster: - -Upgrade a Sharded Cluster from MongoDB 2.2 to MongoDB 2.4 ---------------------------------------------------------- - -.. important:: Only upgrade sharded clusters to 2.4 if **all** members - of the cluster are currently running instances of 2.2. The only - supported upgrade path for sharded clusters running 2.0 is via 2.2. - -Overview -~~~~~~~~ - -Upgrading a :term:`sharded cluster` from MongoDB version 2.2 to 2.4 -(or 2.3) requires that you run a 2.4 :binary:`~bin.mongos` -with the ``--upgrade`` option, described in -this procedure. The upgrade process does not require downtime. - -The upgrade to MongoDB 2.4 adds epochs to the meta-data for all -collections and chunks in the existing cluster. MongoDB 2.2 processes -are capable of handling epochs, even though 2.2 did not require -them. This procedure applies only to upgrades from version 2.2. Earlier -versions of MongoDB do not correctly handle epochs. See -:ref:`2.4-sharded-cluster-meta-data-upgrade` for more information. - -After completing the meta-data upgrade you can fully upgrade the -components of the cluster. With the balancer disabled: - -- Upgrade all :binary:`~bin.mongos` instances in the cluster. - -- Upgrade all 3 :binary:`~bin.mongod` config server instances. - -- Upgrade the :binary:`~bin.mongod` instances for each shard, one at a - time. - -See :ref:`2.4-finalize-shard-cluster-upgrade` for more information. - -.. _2.4-sharded-cluster-meta-data-upgrade: - -Cluster Meta-data Upgrade -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Considerations -`````````````` - -Beware of the following properties of the cluster upgrade process: - -- .. include:: /includes/fact-upgrade-sharded-cluster-prereq.rst - -- While the upgrade is in progress, you cannot make changes to the - collection meta-data. For example, during the upgrade, do **not** - perform: - - - :method:`sh.enableSharding()`, - - - :method:`sh.shardCollection()`, - - - :method:`sh.addShard()`, - - - :method:`db.createCollection()`, - - - :method:`db.collection.drop()`, - - - :method:`db.dropDatabase()`, - - - any operation that creates a database, or - - - any other operation that modifies the cluster meta-data in any - way. See :doc:`/reference/sharding` for a complete list - of sharding commands. Note, however, that not all commands on - the :doc:`/reference/sharding` page modifies the - cluster meta-data. - -- Once you upgrade to 2.4 and complete the upgrade procedure **do - not** use 2.0 :binary:`~bin.mongod` and :binary:`~bin.mongos` processes in - your cluster. 2.0 process may re-introduce old meta-data formats - into cluster meta-data. - -The upgraded config database will require more storage space than -before, to make backup and working copies of the -:data:`config.chunks` and :data:`config.collections` collections. -As always, if storage requirements increase, the :binary:`~bin.mongod` -might need to pre-allocate additional data files. See -:ref:`faq-tools-for-measuring-storage-use` for more information. - -.. _2.4-upgrade-meta-data: - -Meta-data Upgrade Procedure -``````````````````````````` - -Changes to the meta-data format for sharded clusters, stored in the -:doc:`config database `, require a special -meta-data upgrade procedure when moving to 2.4. - -Do not perform operations that modify meta-data while performing this -procedure. See :ref:`2.4-upgrade-cluster` for examples of prohibited -operations. - -#. .. include:: /includes/fact-upgrade-sharded-cluster-prereq.rst - - To check the version of your indexes, use :method:`db.collection.getIndexes()`. - - If any index **on the config database** is ``{v:0}``, you should - rebuild those indexes by connecting to the :binary:`~bin.mongos` and - either: rebuild all indexes using the - :method:`db.collection.reIndex()` method, or drop and rebuild - specific indexes using :method:`db.collection.dropIndex()` and then - :method:`db.collection.ensureIndex()`. If you need to upgrade the - ``_id`` index to ``{v:1}`` use :method:`db.collection.reIndex()`. - - You may have ``{v:0}`` indexes on other databases in the cluster. - -#. Turn off the :ref:`balancer ` in the - :term:`sharded cluster`, as described in - :ref:`sharding-balancing-disable-temporarily`. - - .. note:: Optional - - For additional security during the upgrade, you can make a - backup of the config database using :binary:`~bin.mongodump` or - other backup tools. - -#. Ensure there are no version 2.0 :binary:`~bin.mongod` or - :binary:`~bin.mongos` processes still active in the sharded - cluster. The automated upgrade process checks for 2.0 processes, - but network availability can prevent a definitive check. Wait 5 - minutes after stopping or upgrading version 2.0 :binary:`~bin.mongos` - processes to confirm that none are still active. - -#. Start a single 2.4 :binary:`~bin.mongos` process with - :setting:`~sharding.configDB` pointing to the sharded cluster's :ref:`config - servers ` and with the ``--upgrade`` - option. The upgrade process happens before the - process becomes a daemon (i.e. before - :option:`--fork `.) - - You can upgrade an existing - :binary:`~bin.mongos` instance to 2.4 or you can start a new ``mongos`` - instance that can reach all config servers if you need to avoid - reconfiguring a production :binary:`~bin.mongos`. - - Start the :binary:`~bin.mongos` with a command that resembles the - following: - - .. code-block:: bash - - mongos --configdb --upgrade - - Without the ``--upgrade`` option 2.4 - :binary:`~bin.mongos` processes will fail to start until the upgrade - process is complete. - - The upgrade will prevent any chunk moves or splits from occurring - during the upgrade process. If there are very many sharded - collections or there are stale locks held by other failed processes, - acquiring the locks for all collections can take - seconds or minutes. See the log for progress updates. - -#. When the :binary:`~bin.mongos` process starts successfully, the upgrade is - complete. If the :binary:`~bin.mongos` process fails to start, check the - log for more information. - - If the :binary:`~bin.mongos` terminates or loses its connection to the - config servers during the upgrade, you may always safely retry the - upgrade. - - However, if the upgrade failed during the short critical section, - the :binary:`~bin.mongos` will exit and report that the upgrade will - require manual intervention. To continue the upgrade process, you - must follow the :ref:`upgrade-cluster-resync` procedure. - - .. note:: Optional - - If the :binary:`~bin.mongos` logs show the upgrade waiting for the - upgrade lock, a previous upgrade process may still be active or - may have ended abnormally. After 15 minutes of no remote - activity :binary:`~bin.mongos` will force the upgrade lock. If you - can verify that there are no running upgrade processes, you may - connect to a 2.2 :binary:`~bin.mongos` process and force the lock - manually: - - .. code-block:: bash - - mongo - - .. code-block:: javascript - - db.getMongo().getCollection("config.locks").findOne({ _id : "configUpgrade" }) - - If the process specified in the ``process`` field of this document - is *verifiably* offline, run the following operation to force the - lock. - - .. code-block:: javascript - - db.getMongo().getCollection("config.locks").update({ _id : "configUpgrade" }, { $set : { state : 0 } }) - - It is always more safe to wait for the :binary:`~bin.mongos` to - verify that the lock is inactive, if you have any doubts about - the activity of another upgrade operation. In addition to the - ``configUpgrade``, the :binary:`~bin.mongos` may need to wait for - specific collection locks. Do not force the specific collection - locks. - -#. Upgrade and restart other :binary:`~bin.mongos` processes in the - sharded cluster, *without* the ``--upgrade`` - option. - - See :ref:`2.4-finalize-shard-cluster-upgrade` for more information. - -#. :ref:`Re-enable the balancer - `. You can now perform - operations that modify cluster meta-data. - -Once you have upgraded, *do not* introduce version 2.0 MongoDB -processes into the sharded cluster. This can reintroduce old meta-data -formats into the config servers. The meta-data change made by this -upgrade process will help prevent errors caused by cross-version -incompatibilities in future versions of MongoDB. - -.. _upgrade-cluster-resync: - -Resync after an Interruption of the Critical Section -```````````````````````````````````````````````````` - -During the short critical section of the upgrade that applies changes -to the meta-data, it is unlikely but possible that a network -interruption can prevent all three config servers from verifying or -modifying data. If this occurs, the :ref:`config servers -` must be re-synced, and there may be problems -starting new :binary:`~bin.mongos` processes. The :term:`sharded cluster` -will remain accessible, but avoid all cluster meta-data changes until -you resync the config servers. Operations that change meta-data include: -adding shards, dropping databases, and dropping collections. - -.. note:: - - Only perform the following procedure *if* something (e.g. network, - power, etc.) interrupts the upgrade process during the short - critical section of the upgrade. Remember, you may always safely - attempt the :ref:`meta data upgrade procedure - <2.4-upgrade-meta-data>`. - -To resync the config servers: - -1. Turn off the :ref:`balancer ` in the - sharded cluster and stop all meta-data operations. If you are in the - middle of an upgrade process (:ref:`2.4-upgrade-cluster`), you - have already disabled the balancer. - -#. Shut down two of the three config servers, preferably the last two listed - in the :setting:`~sharding.configDB` string. For example, if your :setting:`~sharding.configDB` - string is ``configA:27019,configB:27019,configC:27019``, shut down - ``configB`` and ``configC``. Shutting down the last two config servers - ensures that most :binary:`~bin.mongos` instances will have - uninterrupted access to cluster meta-data. - -#. :binary:`~bin.mongodump` the data files of the active config server - (``configA``). - -#. Move the data files of the deactivated config servers (``configB`` - and ``configC``) to a backup location. - -#. Create new, empty :term:`data directories `. - -#. Restart the disabled config servers with :option:`--dbpath ` - pointing to the now-empty data directory and :option:`--port ` - pointing to an alternate port (e.g. ``27020``). - -#. Use :binary:`~bin.mongorestore` to repopulate the data files on the - disabled documents from the active - config server (``configA``) to the restarted config servers on the new - port (``configB:27020,configC:27020``). These config servers are now - re-synced. - -#. Restart the restored config servers on the old port, resetting the - port back to the old settings (``configB:27019`` and ``configC:27019``). - -#. In some cases connection pooling may cause spurious failures, as - the :binary:`~bin.mongos` disables old connections only after attempted - use. 2.4 fixes this problem, but to avoid this issue in version - 2.2, you can restart all :binary:`~bin.mongos` instances (one-by-one, - to avoid downtime) and use the :method:`rs.stepDown()` method - before restarting each of the shard :term:`replica set` - :term:`primaries `. - -#. The sharded cluster is now fully resynced; however before you - attempt the upgrade process again, you must manually reset the - upgrade state using a version 2.2 :binary:`~bin.mongos`. Begin by - connecting to the 2.2 :binary:`~bin.mongos` with the ``mongo`` - shell: - - .. code-block:: bash - - mongo - - Then, use the following operation to reset the upgrade process: - - .. code-block:: javascript - - db.getMongo().getCollection("config.version").update({ _id : 1 }, { $unset : { upgradeState : 1 } }) - -#. Finally retry the upgrade process, as in - :ref:`2.4-upgrade-cluster`. - -.. _2.4-finalize-shard-cluster-upgrade: - -Upgrade Sharded Cluster Components -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -After you have successfully completed the meta-data upgrade process -described in :ref:`2.4-upgrade-meta-data`, and the 2.4 -:binary:`~bin.mongos` instance starts, you can upgrade the other processes -in your MongoDB deployment. - -While the balancer is still disabled, upgrade the components of your -sharded cluster in the following order: - -- Upgrade all :binary:`~bin.mongos` instances in the cluster, in any - order. - -- Upgrade all 3 :binary:`~bin.mongod` config server instances, upgrading - the *first* system in the :option:`mongos --configdb` argument - *last*. - -- Upgrade each shard, one at a time, upgrading the :binary:`~bin.mongod` - secondaries before running :dbcommand:`replSetStepDown` and - upgrading the primary of each shard. - -When this process is complete, you can now :ref:`re-enable the -balancer `. - -.. _2.4-upgrade-auth-limitation: - -Rolling Upgrade Limitation for 2.2.0 Deployments Running with ``auth`` Enabled ------------------------------------------------------------------------------- - -MongoDB *cannot* support deployments that mix 2.2.0 and 2.4.0, or -greater, components. MongoDB version 2.2.1 and later processes *can* -exist in mixed deployments with 2.4-series processes. Therefore you -cannot perform a rolling upgrade from MongoDB 2.2.0 to MongoDB -2.4.0. To upgrade a cluster with 2.2.0 components, use one of the -following procedures. - -1. Perform a rolling upgrade of all 2.2.0 processes to the latest - 2.2-series release (e.g. 2.2.3) so that there are no processes in - the deployment that predate 2.2.1. When there are no 2.2.0 - processes in the deployment, perform a rolling upgrade to 2.4.0. - -2. Stop all processes in the cluster. Upgrade all processes to a - 2.4-series release of MongoDB, and start all processes at the same - time. - -Upgrade from 2.3 to 2.4 ------------------------ - -If you used a :binary:`~bin.mongod` from the 2.3 or 2.4-rc (release -candidate) series, you can safely transition these databases to 2.4.0 -or later; *however*, if you created ``2dsphere`` or ``text`` indexes -using a :binary:`~bin.mongod` before v2.4-rc2, you will need to rebuild -these indexes. For example: - -.. code-block:: javascript - - db.records.dropIndex( { loc: "2dsphere" } ) - db.records.dropIndex( "records_text" ) - - db.records.ensureIndex( { loc: "2dsphere" } ) - db.records.ensureIndex( { records: "text" } ) - -.. _2.4-downgrade: - -Downgrade MongoDB from 2.4 to Previous Versions ------------------------------------------------ - -For some cases the on-disk format of data files used by 2.4 and 2.2 -:binary:`~bin.mongod` is compatible, and you can upgrade and downgrade if -needed. However, several new features in 2.4 are incompatible with -previous versions: - -- ``2dsphere`` indexes are incompatible with 2.2 and earlier - :binary:`~bin.mongod` instances. - -- ``text`` indexes are incompatible with 2.2 and earlier - :binary:`~bin.mongod` instances. - -- using a ``hashed`` index as a shard key are incompatible with 2.2 and - earlier :binary:`~bin.mongos` instances. - -- ``hashed`` indexes are incompatible with 2.0 and earlier - :binary:`~bin.mongod` instances. - -.. important:: Collections sharded using hashed shard keys, should - **not** use 2.2 :binary:`~bin.mongod` instances, which cannot correctly - support cluster operations for these collections. - - .. :issue:`SERVER_9776` - -If you completed the :ref:`meta-data upgrade for a sharded cluster -<2.4-upgrade-cluster>`, you can safely downgrade to 2.2 MongoDB -processes. **Do not** use 2.0 processes after completing the upgrade -procedure. - -.. note:: - - In sharded clusters, once you have completed the :ref:`meta-data upgrade - procedure <2.4-upgrade-cluster>`, you cannot use 2.0 - :binary:`~bin.mongod` or :binary:`~bin.mongos` instances in the same - cluster. - - If you complete the meta-data upgrade, you can safely downgrade - components in any order. When upgrade again, always - upgrade :binary:`~bin.mongos` instances before :binary:`~bin.mongod` instances. - - **Do not** create ``2dsphere`` or ``text`` indexes in a cluster - that has 2.2 components. - -Considerations and Compatibility -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you upgrade to MongoDB 2.4, and then need to run MongoDB 2.2 with -the same data files, consider the following limitations. - -- If you use a ``hashed`` index as the shard key index, which is only - possible under 2.4 you will not be able to query data in this - sharded collection. Furthermore, a 2.2 :binary:`~bin.mongos` cannot - properly route an insert operation for a collections sharded using a - ``hashed`` index for the shard key index: any data that you insert - using a 2.2 :binary:`~bin.mongos`, will not arrive on the correct shard - and will not be reachable by future queries. - -- If you *never* create an ``2dsphere`` or ``text`` index, you can - move between a 2.4 and 2.2 :binary:`~bin.mongod` for a given data set; - however, after you create the first ``2dsphere`` or ``text`` index - with a 2.4 :binary:`~bin.mongod` you will need to run a 2.2 - :binary:`~bin.mongod` with the :option:`--upgrade ` - option and drop any ``2dsphere`` or ``text`` index. - -Upgrade and Downgrade Procedures -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Basic Downgrade and Upgrade -``````````````````````````` - -**Except** as described below, moving between 2.2 and 2.4 is a drop-in -replacement: - -- stop the existing :binary:`~bin.mongod`, using the :option:`--shutdown - ` option as follows: - - .. code-block:: bash - - mongod --dbpath /var/mongod/data --shutdown - - Replace ``/var/mongod/data`` with your MongoDB :setting:`~storage.dbPath`. - -- start the new :binary:`~bin.mongod` processes with the same - :setting:`~storage.dbPath` setting, for example: - - .. code-block:: bash - - mongod --dbpath /var/mongod/data - - Replace ``/var/mongod/data`` with your MongoDB :setting:`~storage.dbPath`. - -.. _2.4-downgrade-pdfile: - -Downgrade to 2.2 After Creating a ``2dsphere`` or ``text`` Index -```````````````````````````````````````````````````````````````` - -If you have created ``2dsphere`` or ``text`` indexes while running a -2.4 :binary:`~bin.mongod` instance, you can downgrade at any time, by -starting the ``2.2`` :binary:`~bin.mongod` with the :option:`--upgrade -` option as follows: - -.. code-block:: bash - - mongod --dbpath /var/mongod/data/ --upgrade - -Then, you will need to drop any existing ``2dsphere`` or ``text`` -indexes using :method:`db.collection.dropIndex()`, for example: - -.. code-block:: javascript - - db.records.dropIndex( { loc: "2dsphere" } ) - db.records.dropIndex( "records_text" ) - -.. warning:: - - :option:`--upgrade ` will run - ``repairDatabase`` on any database where you have created - a ``2dsphere`` or ``text`` index, which will rebuild *all* - indexes. - -Troubleshooting Upgrade/Downgrade Operations -```````````````````````````````````````````` - -If you do not use :option:`--upgrade `, when you -attempt to start a 2.2 :binary:`~bin.mongod` and you have created a -``2dsphere`` or ``text`` index, :binary:`~bin.mongod` will return the -following message: - -.. code-block:: none - - 'need to upgrade database index_plugin_upgrade with pdfile version 4.6, new version: 4.5 Not upgrading, exiting' - -While running 2.4, to check the data file version of a MongoDB -database, use the following operation in the shell: - -.. code-block:: javascript - - db.getSiblingDB('').stats().dataFileVersion - -The major data file [#pdfile-version]_ version for both 2.2 and 2.4 is -``4``, the minor data file version for 2.2 is ``5`` and the minor data -file version for 2.4 is ``6`` **after** you create a ``2dsphere`` or -``text`` index. - -.. [#pdfile-version] The data file version (i.e. ``pdfile version``) - is independent and unrelated to the release version of MongoDB. diff --git a/source/release-notes/2.4.txt b/source/release-notes/2.4.txt deleted file mode 100644 index 7dcc67aea30..00000000000 --- a/source/release-notes/2.4.txt +++ /dev/null @@ -1,443 +0,0 @@ -============================= -Release Notes for MongoDB 2.4 -============================= - -*March 19, 2013* - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -MongoDB 2.4 includes enhanced geospatial support, switch to V8 JavaScript -engine, security enhancements, and text search (beta) and hashed index. - -Patch Releases --------------- - -.. toctree:: - - /release-notes/2.4-changelog - -2.4.14 -- April 28, 2015 -~~~~~~~~~~~~~~~~~~~~~~~~ - -- Init script sets process ulimit to different value compared to - documentation :issue:`SERVER-17780` - -- Compute BinData length in v8 :issue:`SERVER-17647` - -- Upgrade PCRE Version from 8.30 to Latest :issue:`SERVER-17252` - -- :ref:`2.4.14 Changelog <2.4.14-changelog>`. - -- `All 2.4.14 improvements `_. - -2.4.13 -- February 25, 2015 -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Enforce BSON BinData length validation :issue:`SERVER-17278` - -- Disable SSLv3 ciphers :issue:`SERVER-15673` - -- Improve BSON validation :issue:`SERVER-17264` - -- :ref:`2.4.13 Changelog <2.4.13-changelog>`. - -- `All 2.4.13 improvements `_. - -2.4.12 -- October 16, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Partially written journal last section causes recovery to fail :issue:`SERVER-15111`. - -- Explicitly zero ``.ns`` files on creation :issue:`SERVER-15369`. - -- :ref:`2.4.12 Changelog <2.4.12-changelog>`. - -- `All 2.4.12 improvements `_. - -2.4.11 -- August 18, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fixed potential information leak: :issue:`SERVER-14268`. - -- Resolved issue were an ``_id`` with a ``$prefix`` field caused - replication failure due to unvalidated insert :issue:`SERVER-12209`. - -- Addressed issue where updates to documents with text-indexed fields - could lead to incorrect entries :issue:`SERVER-14738`. - -- Resolved issue where creating descending index on ``_id`` could - corrupt namespace :issue:`SERVER-14833`. - -- :ref:`2.4.11 Changelog <2.4.11-changelog>`. - -- `All 2.4.11 improvements `_. - -2.4.10 -- April 4, 2014 -~~~~~~~~~~~~~~~~~~~~~~~ - -- Performs fast file allocation on Windows when available :issue:`SERVER-8480`. - -- Start elections if more than one primary is detected :issue:`SERVER-10793`. - -- Changes to allow safe downgrading from v2.6 to v2.4 :issue:`SERVER-12914`, :issue:`SERVER-12175`. - -- Fixes for edge cases in index creation :issue:`SERVER-12481`, :issue:`SERVER-12956`. - -- :ref:`2.4.10 Changelog <2.4.10-changelog>`. - -- `All 2.4.10 improvements `_. - -2.4.9 -- January 10, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fix for instances where :binary:`~bin.mongos` incorrectly reports a - successful write :issue:`SERVER-12146`. - -- Make non-primary read preferences consistent with ``slaveOK`` - versioning logic :issue:`SERVER-11971`. - -- Allow new sharded cluster connections to read from secondaries when - primary is down :issue:`SERVER-7246`. - -- `All 2.4.9 improvements `_. - -2.4.8 -- November 1, 2013 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Increase future compatibility for 2.6 authorization features - :issue:`SERVER-11478`. - -- Fix :dbcommand:`dbHash` cache issue for config servers - :issue:`SERVER-11421`. - -- `All 2.4.8 improvements `_. - -2.4.7 -- October 21, 2013 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fixed over-aggressive caching of V8 Isolates :issue:`SERVER-10596`. - -- Removed extraneous initial count during mapReduce - :issue:`SERVER-9907`. - -- Cache results of dbhash command :issue:`SERVER-11021`. - -- Fixed memory leak in aggregation :issue:`SERVER-10554`. - -- `All 2.4.7 improvements `_. - -2.4.6 -- August 20, 2013 -~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fix for possible loss of documents during the chunk migration process - if a document in the chunk is very large :issue:`SERVER-10478`. - -- Fix for C++ client shutdown issues :issue:`SERVER-8891`. - -- Improved replication robustness in presence of high network latency - :issue:`SERVER-10085`. - -- Improved Solaris support :issue:`SERVER-9832`, :issue:`SERVER-9786`, - and :issue:`SERVER-7080`. - -- `All 2.4.6 improvements `_. - -2.4.5 -- July 3, 2013 -~~~~~~~~~~~~~~~~~~~~~ - -- Fix for CVE-2013-4650 Improperly grant user system privileges on - databases other than local :issue:`SERVER-9983`. - -- Fix for CVE-2013-3969 Remotely triggered segmentation fault in Javascript engine - :issue:`SERVER-9878`. - -- Fix to prevent identical background indexes from being built - :issue:`SERVER-9856`. - -- Config server performance improvements :issue:`SERVER-9864` and - :issue:`SERVER-5442`. - -- Improved initial sync resilience to network failure :issue:`SERVER-9853`. - -- `All 2.4.5 improvements `_. - -2.4.4 -- June 4, 2013 -~~~~~~~~~~~~~~~~~~~~~ - -- Performance fix for Windows version :issue:`SERVER-9721` - -- Fix for config upgrade failure :issue:`SERVER-9661`. - -- Migration to Cyrus SASL library for MongoDB Enterprise :issue:`SERVER-8813`. - -- `All 2.4.4 improvements `_. - -2.4.3 -- April 23, 2013 -~~~~~~~~~~~~~~~~~~~~~~~ - -- Fix for ``mongo`` shell ignoring modified object's ``_id`` field - :issue:`SERVER-9385`. - -- Fix for race condition in log rotation :issue:`SERVER-4739`. - -- Fix for ``copydb`` command with authorization in a sharded cluster - :issue:`SERVER-9093`. - -- `All 2.4.3 improvements `_. - -2.4.2 -- April 17, 2013 -~~~~~~~~~~~~~~~~~~~~~~~ - -- Several V8 memory leak and performance fixes :issue:`SERVER-9267` and - :issue:`SERVER-9230`. - -- Fix for upgrading sharded clusters :issue:`SERVER-9125`. - -- Fix for high volume connection crash :issue:`SERVER-9014`. - -- `All 2.4.2 improvements `_ - -2.4.1 -- April 17, 2013 -~~~~~~~~~~~~~~~~~~~~~~~ - -- Fix for losing index changes during initial sync :issue:`SERVER-9087` - -- `All 2.4.1 improvements `_. - -Major New Features ------------------- - -The following changes in MongoDB affect both standard and Enterprise -editions: - -.. _2.4-release-text-indexes: - -Text Search -~~~~~~~~~~~ - -Add support for text search of content in MongoDB databases as a -*beta* feature. See :ref:`` for more information. - -.. _2.4-release-geospatial: - -Geospatial Support Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Add new :ref:`2dsphere index <2dsphere-index>`. The new index - supports `GeoJSON `_ objects - ``Point``, ``LineString``, and ``Polygon``. See - :ref:`2dsphere-index` and :doc:`/geospatial-queries`. - -- Introduce operators :query:`$geometry`, :query:`$geoWithin` and - :query:`$geoIntersects` to work with the GeoJSON data. - -.. _2.4-release-hashed-indexes: - -Hashed Index -~~~~~~~~~~~~ - -Add new :ref:`hashed index ` to index documents -using hashes of field values. When used to index a shard key, the -hashed index ensures an evenly distributed shard key. See also -:ref:`sharding-hashed-sharding`. - -.. DOCS-752 - -Improvements to the Aggregation Framework -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Improve support for geospatial queries. See the - :query:`$geoWithin` operator and the :pipeline:`$geoNear` pipeline - stage. - -- Improve sort efficiency when the :pipeline:`$sort` stage immediately - precedes a :pipeline:`$limit` in the pipeline. - -- Add new operators :expression:`$millisecond` and - :expression:`$concat` and modify how :group:`$min` operator processes - ``null`` values. - -.. _2.4-fixed-size-arrays: - -Changes to Update Operators -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Add new :update:`$setOnInsert` operator for use with - :method:`upsert ` . - -- Enhance functionality of the :update:`$push` operator, supporting - its use with the :update:`$each`, the :update:`$sort`, and the - :update:`$slice` modifiers. - -Additional Limitations for Map-Reduce and ``$where`` Operations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The :dbcommand:`mapReduce` command, :v2.4:`group ` command, and -the :query:`$where` operator expressions cannot access certain -global functions or properties, such as ``db``, that are available -in the ``mongo`` shell. See the individual command or -operator for details. - -.. _2.4-release-server-status: - -Improvements to ``serverStatus`` Command -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Provide additional metrics and customization for the -:dbcommand:`serverStatus` command. See :method:`db.serverStatus()` -and :dbcommand:`serverStatus` for more information. - -.. _2.4-privilege-documents: -.. _2.4-unique-users: - -Security Enhancements ---------------------- - -- Introduce a role-based access control system - :v2.4:`User Privileges ` now use a new - format for ``Privilege Documents``. - -- Enforce uniqueness of the user in user privilege documents per - database. Previous versions of MongoDB did not enforce this - requirement, and existing databases may have duplicates. - -- Support encrypted connections using SSL certificates signed by a - Certificate Authority. See :doc:`/tutorial/configure-ssl`. - -For more information on security and risk management strategies, see -:ref:`MongoDB Security Practices and Procedures `. - -Performance Improvements ------------------------- - -.. _2.4-release-javascript-change: - -V8 JavaScript Engine -~~~~~~~~~~~~~~~~~~~~ - -.. toctree:: - - /release-notes/2.4-javascript - -Change default JavaScript engine from SpiderMonkey to V8. The change -provides improved concurrency for JavaScript operations, modernized -JavaScript implementation, and the removal of non-standard -SpiderMonkey features, and affects all JavaScript behavior including -the commands :dbcommand:`mapReduce`, :v2.4:`group `, and -``eval`` and the query operator :query:`$where`. - -See :doc:`/release-notes/2.4-javascript` for more information about -all changes . - -BSON Document Validation Enabled by Default for ``mongod`` and ``mongorestore`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Enable basic :term:`BSON` object validation for :binary:`~bin.mongod` -and :binary:`~bin.mongorestore` when writing to MongoDB data files. See -:setting:`~net.wireObjectCheck` for details. - -Index Build Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~ - -- Add support for multiple concurrent index builds in the background by - a single :binary:`~bin.mongod` instance. See :ref:`building indexes in - the background ` for more information on - background index builds. - -- Allow the :method:`db.killOp()` method to terminate a foreground - index build. - -- Improve index validation during index creation. See - :doc:`/release-notes/2.4-index-types` for more information. - -Set Parameters as Command Line Options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Provide ``--setParameter`` as a command line option for -:binary:`~bin.mongos` and :binary:`~bin.mongod`. See :binary:`~bin.mongod` and -:binary:`~bin.mongos` for list of available options for -:setting:`setParameter`. - -Changed Replication Behavior for Chunk Migration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, each document move during :ref:`chunk migration -` in a :term:`sharded cluster` propagates to -at least one secondary before the balancer proceeds with its next -operation. See :ref:`chunk-migration-replication`. - -Improved Chunk Migration Queue Behavior -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Increase performance for moving multiple chunks off an overloaded -shard. The balancer no longer waits for the current migration's -delete phase to complete before starting the next chunk migration. -See :ref:`chunk-migration-queuing` for details. - -.. _mongodb-enterprise: - -Enterprise ----------- - -The following changes are specific to MongoDB Enterprise Editions: - -.. _2.4.4-sasl-change: - -SASL Library Change -~~~~~~~~~~~~~~~~~~~ - -In 2.4.4, MongoDB Enterprise uses Cyrus SASL. Earlier 2.4 Enterprise -versions use GNU SASL (``libgsasl``). To upgrade to 2.4.4 MongoDB -Enterprise or greater, you **must** install all package dependencies -related to this change, including the appropriate Cyrus SASL ``GSSAPI`` -library. See :doc:`/administration/install-enterprise` for details of -the dependencies. - -.. _kerberos-authentication: - -New Modular Authentication System with Support for Kerberos -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In 2.4, the MongoDB Enterprise now supports authentication via a -Kerberos mechanism. See -:doc:`/tutorial/control-access-to-mongodb-with-kerberos-authentication` -for more information. For drivers that provide support for -Kerberos authentication to MongoDB, refer to :ref:`kerberos-and-drivers`. - -For more information on security and risk management strategies, see -:ref:`MongoDB Security Practices and Procedures `. - -Additional Information ----------------------- - -Platform Notes -~~~~~~~~~~~~~~ - -For macOS, MongoDB 2.4 only supports macOS versions 10.6 (Snow Leopard) -and later. There are no other platform support changes in MongoDB -2.4. See the `downloads page `_ for -more information on platform support. - -Upgrade Process -~~~~~~~~~~~~~~~ - -.. toctree:: - - /release-notes/2.4-upgrade - /release-notes/2.4-index-types - -See :doc:`/release-notes/2.4-upgrade` for full upgrade instructions. - -Other Resources -~~~~~~~~~~~~~~~ - -- `MongoDB Downloads `_. -- `All JIRA issues resolved in 2.4 `_. -- `All Backwards incompatible changes `_. -- `All Third Party License Notices `_. diff --git a/source/release-notes/2.6-changelog.txt b/source/release-notes/2.6-changelog.txt deleted file mode 100644 index 26cd59b4147..00000000000 --- a/source/release-notes/2.6-changelog.txt +++ /dev/null @@ -1,904 +0,0 @@ -============= -2.6 Changelog -============= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: twocols - -.. include:: /includes/changelogs/releases/2.6.12.rst - -.. _2.6.11-changelog: - -2.6.11 -- Changes ------------------ - -Querying -~~~~~~~~ - -- :issue:`SERVER-19553` \ :binary:`~bin.mongod` shouldn't use ``sayPiggyBack`` to send ``killCursor`` messages -- :issue:`SERVER-18620` Reduce frequency of "``staticYield can't unlock``" log message -- :issue:`SERVER-18461` Range predicates comparing against a BinData value should be covered, but are not in 2.6 -- :issue:`SERVER-17815` Plan ranking tie breaker is computed incorrectly -- :issue:`SERVER-16265` Add query details to getmore entry in profiler and :method:`db.currentOp()` -- :issue:`SERVER-15217` v2.6 query plan ranking test "``NonCoveredIxisectFetchesLess``" relies on order of deleted record list -- :issue:`SERVER-14070` Compound index not providing sort if equality predicate given on sort field - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-18280` ``ReplicaSetMonitor`` should use ``electionId`` to avoid talking to old primaries -- :issue:`SERVER-18795` \ :method:`db.printSlaveReplicationInfo()`/\ :method:`rs.printSlaveReplicationInfo()` can not work with ``ARBITER`` role - -Sharding -~~~~~~~~ - -- :issue:`SERVER-19464` \ :pipeline:`$sort` stage in aggregation doesn't call scoped connections done () -- :issue:`SERVER-18955` \ :binary:`~bin.mongos` doesn't set batch size (and keeps the old one, 0) on getMore if performed on first ``_cursor->more()`` - -Indexing -~~~~~~~~ - -- :issue:`SERVER-19559` Document growth of "key too large" document makes it disappear from the index -- :issue:`SERVER-16348` ``Assertion failure n >= 0 && n < static_cast(_files.size()) src/mongo/db/storage/extent_manager.cpp 109`` -- :issue:`SERVER-13875` \ :method:`~db.collection.ensureIndex()` of ``2dsphere`` index breaks after upgrading to 2.6 (with the new ``createIndex`` command) - -Networking -~~~~~~~~~~ - -:issue:`SERVER-19389` Remove wire level endianness check - -Build and Testing -~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-18097` Remove ``mongosTest_auth`` and ``mongosTest_WT`` tasks from ``evergreen.yml`` -- :issue:`SERVER-18068` Coverity analysis defect 72413: Resource leak -- :issue:`SERVER-18371` Add SSL library config detection - -.. _2.6.10-changelog: - -2.6.10 -- Changes ------------------ - -Security -~~~~~~~~ - -- :issue:`SERVER-18312` Upgrade PCRE to latest -- :issue:`SERVER-17812` LockPinger has audit-related GLE failure -- :issue:`SERVER-17647` Compute BinData length in v8 -- :issue:`SERVER-17591` Add SSL flag to select supported protocols -- :issue:`SERVER-16849` On mongos we always invalidate the user cache once, even if no user definitions are changing -- :issue:`SERVER-11980` Improve user cache invalidation enforcement on mongos - -Querying -~~~~~~~~ - -- :issue:`SERVER-18364` Ensure non-negation predicates get chosen over negation predicates for multikey index bounds construction -- :issue:`SERVER-17815` Plan ranking tie breaker is computed incorrectly -- :issue:`SERVER-16256` $all clause with elemMatch uses wider bounds than needed - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-18211` MongoDB fails to correctly roll back collection creation -- :issue:`SERVER-17771` Reconfiguring a replica set to remove a node causes a segmentation fault on 2.6.8 -- :issue:`SERVER-13542` Expose electionId on primary in isMaster - -Sharding -~~~~~~~~ - -- :issue:`SERVER-17812` LockPinger has audit-related GLE failure -- :issue:`SERVER-17805` logOp / OperationObserver should always check shardversion -- :issue:`SERVER-17749` :dbcommand:`collMod` \ ``usePowerOf2Sizes`` fails on :binary:`~bin.mongos` -- :issue:`SERVER-11980` Improve user cache invalidation enforcement on :binary:`~bin.mongos` - -Storage -~~~~~~~ - -- :issue:`SERVER-18211` MongoDB fails to correctly roll back collection creation -- :issue:`SERVER-17653` ERROR: socket XXX is higher than 1023; not supported on 2.6.* - -Indexing -~~~~~~~~ - -:issue:`SERVER-17018` Assertion failure false -``src/mongo/db/structure/btree/key.cpp`` Line 433 on remove operation - -Write Ops -~~~~~~~~~ - -- :issue:`SERVER-18111` :binary:`~bin.mongod` allows user inserts into ``system.profile`` collection -- :issue:`SERVER-13542` Expose ``electionId`` on primary in ``isMaster`` - -Networking -~~~~~~~~~~ - -- :issue:`SERVER-18096` Shard primary incorrectly reuses closed sockets after relinquish and re-election -- :issue:`SERVER-17591` Add SSL flag to select supported protocols - -Build and Packaging -~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-18344` logs should be sent to updated logkeeper server -- :issue:`SERVER-18082` Change smoke.py buildlogger command line options to environment variables -- :issue:`SERVER-18312` Upgrade PCRE to latest -- :issue:`SERVER-17780` Init script sets process ulimit to different value compared to documentation -- :issue:`SERVER-16563` Debian repo component mismatch - mongodb/10gen - -Shell -~~~~~ - -:issue:`SERVER-17951` db.currentOp() fails with read preference set - -Testing -~~~~~~~ - -- :issue:`SERVER-18262` setup_multiversion_mongodb should retry links download on timeouts -- :issue:`SERVER-18229` ``smoke.py`` with PyMongo 3.0.1 fails to run certain tests -- :issue:`SERVER-18073` Fix ``smoke.py`` to work with PyMongo 3.0 - -.. _2.6.9-changelog: - -2.6.9 -- Changes ----------------- - -Security -~~~~~~~~ - -:issue:`SERVER-16073` Create hidden ``net.ssl.sslCipherConfig`` flag - -Querying -~~~~~~~~ - -- :issue:`SERVER-14723` Crash during query planning for ``geoNear`` command with multiple ``2dsphere`` indexes -- :issue:`SERVER-14071` For queries with :method:`~cursor.sort()`, bad non-blocking plan can be cached if there are zero results -- :issue:`SERVER-8188` Configurable idle cursor timeout - -Replication and Sharding -~~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-17429` the message logged when changing sync target due to stale data should format OpTimes in a consistent way -- :issue:`SERVER-17441` \ :binary:`~bin.mongos` crash right after "not master" error - -Storage -~~~~~~~ - -:issue:`SERVER-15907` Use ``ftruncate`` rather than ``fallocate`` when running on ``tmpfs`` - -Aggregation Framework -~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-17426` Aggregation framework query by ``_id`` returns duplicates in sharded cluster (orphan documents) -- :issue:`SERVER-17224` Aggregation pipeline with 64MB document can terminate server - -Build and Platform -~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-17484` Migrate server MCI config into server repo -- :issue:`SERVER-17252` Upgrade PCRE Version from 8.30 to Latest - -Diagnostics and Internal Code -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-17226` \ :dbcommand:`top` command with 64MB result document can terminate server -- :issue:`SERVER-17338` NULL pointer crash when running ``copydb`` against stepped-down 2.6 primary -- :issue:`SERVER-14992` Query for Windows 7 File Allocation Fix, and other hotfixes - -.. _2.6.8-changelog: - -2.6.8 -- Changes ----------------- - -Security and Networking -~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-17278` BSON BinData validation enforcement -- :issue:`SERVER-17022` No SSL Session Caching may not be respected -- :issue:`SERVER-17264` improve bson validation - -Query and Aggregation -~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-16655` Geo predicate is unable to use compound 2dsphere index if it is root of :query:`$or` clause -- :issue:`SERVER-16527` ``2dsphere`` explain reports "works" for ``nscanned`` & ``nscannedObjects`` -- :issue:`SERVER-15802` Query optimizer should always use equality predicate over unique index when possible -- :issue:`SERVER-14044` Incorrect ``{$meta: 'text'}`` reference in aggregation :pipeline:`$sort` error message - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-16599` ``copydb`` and ``clone`` commands can crash the server if a primary steps down -- :issue:`SERVER-16315` Replica set nodes should not threaten to veto nodes whose config version is higher than their own -- :issue:`SERVER-16274` secondary ``fasserts`` trying to replicate an index -- :issue:`SERVER-15471` Better error message when replica is not found in ``GhostSync::associateSlave`` - -Sharding -~~~~~~~~ - -- :issue:`SERVER-17191` Spurious warning during upgrade of sharded cluster -- :issue:`SERVER-17163` Fatal error "logOp but not primary" in ``MigrateStatus::go`` -- :issue:`SERVER-16984` ``UpdateLifecycleImpl`` can return empty ``collectionMetadata`` even if ``ns`` is sharded -- :issue:`SERVER-10904` Possible for ``_master`` and ``_slaveConn`` to be pointing to different connections even with primary read pref - -Storage -~~~~~~~ - -- :issue:`SERVER-17087` Add listCollections command functionality to 2.6 shell & client -- :issue:`SERVER-14572` Increase C runtime stdio file limit - -Tools -~~~~~ - -- :issue:`SERVER-17216` 2.6 :binary:`~bin.mongostat` cannot be used with 3.0 :binary:`~bin.mongod` -- :issue:`SERVER-14190` :binary:`~bin.mongorestore` ``parseMetadataFile`` passes non-null terminated string to '``fromjson``' - -Build and Packaging -~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-14803` Support static libstdc++ builds for non-Linux builds -- :issue:`SERVER-15400` Create Windows Enterprise Zip File with vcredist and dependent dlls - -Usability -~~~~~~~~~ - -:issue:`SERVER-14756` The YAML ``storage.quota.enforced`` option is not found - -Testing -~~~~~~~ - -:issue:`SERVER-16421` ``sharding_rs2.js`` should clean up data on all replicas - -.. _2.6.7-changelog: - -2.6.7 -- Changes ----------------- - -Stability -~~~~~~~~~ - -- :issue:`SERVER-16237` Don't check the shard version if the primary server is down - -Querying -~~~~~~~~ - -- :issue:`SERVER-16408` ``max_time_ms.js`` should not run in parallel suite. - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-16732` ``SyncSourceFeedback::replHandshake()`` may - perform an illegal erase from a ``std::map`` in some circumstances - -Sharding -~~~~~~~~ - -- :issue:`SERVER-16683` Decrease mongos memory footprint when shards - have several tags - -- :issue:`SERVER-15766` prefix_shard_key.js depends on primary - allocation to particular shards - -- :issue:`SERVER-14306` :binary:`~bin.mongos` can cause shards to hit the - in-memory sort limit by requesting more results than needed. - -Packaging -~~~~~~~~~ - -- :issue:`SERVER-16081` ``/etc/init.d/mongod`` startup script fails, with dirname message - -.. _2.6.6-changelog: - -2.6.6 -- Changes ----------------- - -Security -~~~~~~~~ - -- :issue:`SERVER-15673` Disable SSLv3 ciphers -- :issue:`SERVER-15515` New test for mixed version replSet, 2.4 primary, user updates -- :issue:`SERVER-15500` New test for system.user operations - -Stability -~~~~~~~~~ - -- :issue:`SERVER-12061` Do not silently ignore read errors when syncing a replica set node -- :issue:`SERVER-12058` Primary should abort if encountered problems writing to the oplog - -Querying -~~~~~~~~ - -- :issue:`SERVER-16291` Cannot set/list/clear index filters on the secondary -- :issue:`SERVER-15958` The "isMultiKey" value is not correct in the output of aggregation explain plan -- :issue:`SERVER-15899` Querying against path in document containing long array of subdocuments with nested arrays causes stack overflow -- :issue:`SERVER-15696` :query:`$regex`, :query:`$in` and :update:`$sort` with index returns too many results -- :issue:`SERVER-15639` Text queries can return incorrect results and leak memory when multiple predicates given on same text index prefix field -- :issue:`SERVER-15580` Evaluating candidate query plans with concurrent writes on same collection may crash :binary:`~bin.mongod` -- :issue:`SERVER-15528` Distinct queries can scan many index keys without yielding read lock -- :issue:`SERVER-15485` CanonicalQuery::canonicalize can leak a LiteParsedQuery -- :issue:`SERVER-15403` ``$min`` and ``$max`` equal errors in 2.6 but not in 2.4 -- :issue:`SERVER-15233` Cannot run ``planCacheListQueryShapes`` on a Secondary -- :issue:`SERVER-14799` :dbcommand:`count` with hint doesn't work when hint is a document - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-16107` 2.6 :binary:`~bin.mongod` crashes with segfault when added to a 2.8 replica set with >= 12 nodes. -- :issue:`SERVER-15994` ``listIndexes`` and ``listCollections`` can be run on secondaries without slaveOk bit -- :issue:`SERVER-15849` do not forward replication progress for nodes that are no longer part of a replica set -- :issue:`SERVER-15491` ``SyncSourceFeedback`` can crash due to a ``SocketException`` in ``authenticateInternalUser`` - -Sharding -~~~~~~~~ - -- :issue:`SERVER-15318` ``copydb`` should not use exhaust flag when used against :binary:`~bin.mongos` -- :issue:`SERVER-14728` Shard depends on string comparison of replica set connection string -- :issue:`SERVER-14506` special top chunk logic can move max chunk to a shard with incompatible tag -- :issue:`SERVER-14299` For sharded limit=N queries with sort, mongos can request >N results from shard -- :issue:`SERVER-14080` Have migration result reported in the changelog correctly -- :issue:`SERVER-12472` Fail MoveChunk if an index is needed on TO shard and data exists - -Storage -~~~~~~~ - -- :issue:`SERVER-16283` Can't start new wiredtiger node with log file or config file in data directory - false detection of old ``mmapv1`` files -- :issue:`SERVER-15986` Starting with different storage engines in the same dbpath should error/warn -- :issue:`SERVER-14057` Changing TTL expiration time with collMod does not correctly update index definition - -Indexing and write Operations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-14287` ensureIndex can abort reIndex and lose indexes -- :issue:`SERVER-14886` Updates against paths composed with array index notation and positional operator fail with error - -Data Aggregation -~~~~~~~~~~~~~~~~ - -:issue:`SERVER-15552` Errors writing to temporary collections during :dbcommand:`mapReduce` command execution should be operation-fatal - -Build and Packaging -~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-14184` Unused preprocessor macros from s2 conflict on OS X Yosemite -- :issue:`SERVER-14015` S2 Compilation on GCC 4.9/Solaris fails -- :issue:`SERVER-16017` Suse11 enterprise packages fail due to unmet dependencies -- :issue:`SERVER-15598` Ubuntu 14.04 Enterprise packages depend on unavailable libsnmp15 package -- :issue:`SERVER-13595` Red Hat init.d script error: YAML config file parsing - -Logging and Diagnostics -~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-13471` Increase log level of "did reduceInMemory" message in map/reduce -- :issue:`SERVER-16324` Command execution log line displays "``query not recording (too large)``" instead of abbreviated command object -- :issue:`SERVER-10069` Improve errorcodes.py so it captures multiline messages - -Testing and Internals -~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-15632` ``MultiHostQueryOp::PendingQueryContext::doBlockingQuery`` can leak a cursor object -- :issue:`SERVER-15629` ``GeoParser::parseMulti{Line|Polygon}`` does not clear objects owned by out parameter -- :issue:`SERVER-16316` Remove unsupported behavior in shard3.js -- :issue:`SERVER-14763` Update jstests/sharding/split_large_key.js -- :issue:`SERVER-14249` Add tests for querying oplog via mongodump using --dbpath -- :issue:`SERVER-13726` indexbg_drop.js - -.. _2.6.5-changelog: - -2.6.5 -- Changes ----------------- - -Security -~~~~~~~~ - -- :issue:`SERVER-15465` OpenSSL crashes on stepdown -- :issue:`SERVER-15360` User document changes made on a 2.4 primary and replicated to a 2.6 secondary don't make the 2.6 secondary invalidate its user cache -- :issue:`SERVER-14887` Allow user document changes made on a 2.4 primary to replicate to a 2.6 secondary -- :issue:`SERVER-14727` Details of SASL failures aren't logged -- :issue:`SERVER-12551` Audit DML/CRUD operations - -Stability -~~~~~~~~~ - -:issue:`SERVER-9032` mongod fails when launched with misconfigured locale - -Querying -~~~~~~~~ - -- :issue:`SERVER-15287` Query planner sort analysis incorrectly allows index key pattern plugin fields to provide sort -- :issue:`SERVER-15286` Assertion in date indexes when opposite-direction-sorted and double "or" filtered -- :issue:`SERVER-15279` Disable hash-based index intersection (AND_HASH) by default -- :issue:`SERVER-15152` When evaluating plans, some index candidates cause complete index scan -- :issue:`SERVER-15015` Assertion failure when combining ``$max`` and ``$min`` and reverse index scan -- :issue:`SERVER-15012` Server crashes on indexed rooted $or queries using a 2d index -- :issue:`SERVER-14969` Dropping index during active aggregation operation can crash server -- :issue:`SERVER-14961` Plan ranker favors intersection plans if predicate generates empty range index scan -- :issue:`SERVER-14892` Invalid ``{$elemMatch: {$where}}`` query causes memory leak -- :issue:`SERVER-14706` Queries that use negated $type predicate over a field may return incomplete results when an index is present on that field -- :issue:`SERVER-13104` Plan enumerator doesn't enumerate all possibilities for a nested :query:`$or` -- :issue:`SERVER-14984` Server aborts when running :query:`$centerSphere` query with ``NaN`` radius -- :issue:`SERVER-14981` Server aborts when querying against ``2dsphere`` index with ``coarsestIndexedLevel:0`` -- :issue:`SERVER-14831` Text search trips assertion when default language only supported in ``textIndexVersion=1`` used - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-15038` Multiple background index builds may not interrupt cleanly for commands, on secondaries -- :issue:`SERVER-14887` Allow user document changes made on a 2.4 primary to replicate to a 2.6 secondary -- :issue:`SERVER-14805` Use multithreaded oplog replay during initial sync - -Sharding -~~~~~~~~ - -- :issue:`SERVER-15056` Sharded connection cleanup on setup error can crash mongos -- :issue:`SERVER-13702` Commands without optional query may target to wrong shards on mongos -- :issue:`SERVER-15156` MongoDB upgrade 2.4 to 2.6 check returns error in ``config.changelog collection`` - -Storage -~~~~~~~ - -- :issue:`SERVER-15369` explicitly zero .ns files on creation -- :issue:`SERVER-15319` Verify 2.8 freelist is upgrade-downgrade safe with 2.6 -- :issue:`SERVER-15111` partially written journal last section causes recovery to fail - -Indexing -~~~~~~~~ - -- :issue:`SERVER-14848` Port ``index_id_desc.js`` to v2.6 and master branches -- :issue:`SERVER-14205` ensureIndex failure reports ``ok: 1`` on some failures - -Write Operations -~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-15106` Incorrect nscanned and nscannedObjects for idhack updates in 2.6.4 profiler or slow query log -- :issue:`SERVER-15029` The :update:`$rename` modifier uses incorrect dotted source path -- :issue:`SERVER-14829` ``UpdateIndexData::clear()`` should reset all member variables - -Data Aggregation -~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-15087` Server crashes when running concurrent mapReduce and dropDatabase commands -- :issue:`SERVER-14969` Dropping index during active aggregation operation can crash server -- :issue:`SERVER-14168` Warning logged when incremental MR collections are unsuccessfully dropped on secondaries - -Packaging -~~~~~~~~~ - -- :issue:`SERVER-14679` (CentOS 7/RHEL 7) ``init.d`` script should create directory for ``pid`` file if it is missing -- :issue:`SERVER-14023` Support for RHEL 7 Enterprise ``.rpm`` packages -- :issue:`SERVER-13243` Support for Ubuntu 14 "Trusty" Enterprise ``.deb`` packages -- :issue:`SERVER-11077` Support for Debian 7 Enterprise ``.deb`` packages -- :issue:`SERVER-10642` Generate Community and Enterprise packages for SUSE 11 - -Logging and Diagnostics -~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-14964` nscanned not written to the logs at ``logLevel`` 1 unless ``slowms`` exceeded or profiling enabled -- :issue:`SERVER-12551` Audit DML/CRUD operations -- :issue:`SERVER-14904` Adjust dates in ``tool/exportimport_date.js`` to account for different timezones - -Internal Code and Testing -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-13770` ``Helpers::removeRange`` should check all runner states -- :issue:`SERVER-14284` jstests should not leave profiler enabled at test run end -- :issue:`SERVER-14076` remove test ``replset_remove_node.js`` -- :issue:`SERVER-14778` Hide function and data pointers for natively-injected v8 functions - -.. _2.6.4-changelog: - -2.6.4 -- Changes ----------------- - -Security -~~~~~~~~ - -- :issue:`SERVER-14701` The "backup" auth role should allow running the "collstats" command for all resources -- :issue:`SERVER-14518` Allow disabling hostname validation for SSL -- :issue:`SERVER-14268` Potential information leak -- :issue:`SERVER-14170` Cannot read from secondary if both audit and auth are enabled in a sharded cluster -- :issue:`SERVER-13833` userAdminAnyDatabase role should be able to create indexes on admin.system.users and admin.system.roles -- :issue:`SERVER-12512` Add role-based, selective audit logging. -- :issue:`SERVER-9482` Add build flag for sslFIPSMode - -Querying -~~~~~~~~ - -- :issue:`SERVER-14625` Query planner can construct incorrect bounds for negations inside $elemMatch -- :issue:`SERVER-14607` hash intersection of fetched and non-fetched data can discard data from a result -- :issue:`SERVER-14532` Improve logging in the case of plan ranker ties -- :issue:`SERVER-14350` Server crash when $centerSphere has non-positive radius -- :issue:`SERVER-14317` Dead code in IDHackRunner::applyProjection -- :issue:`SERVER-14311` skipping of index keys is not accounted for in plan ranking by the index scan stage -- :issue:`SERVER-14123` some operations can create BSON object larger than the 16MB limit -- :issue:`SERVER-14034` Sorted $in query with large number of elements can't use merge sort -- :issue:`SERVER-13994` do not aggressively pre-fetch data for parallelCollectionScan - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-14665` Build failure for v2.6 in closeall.js caused by access violation reading _me -- :issue:`SERVER-14505` cannot dropAllIndexes when index builds in progress assertion failure -- :issue:`SERVER-14494` Dropping collection during active background index build on secondary triggers segfault -- :issue:`SERVER-13822` Running resync before replset config is loaded can crash :binary:`~bin.mongod` -- :issue:`SERVER-11776` Replication 'isself' check should allow mapped ports - -Sharding -~~~~~~~~ - -- :issue:`SERVER-14551` Runner yield during migration cleanup (removeRange) results in fassert -- :issue:`SERVER-14431` Invalid chunk data after splitting on a key that's too large -- :issue:`SERVER-14261` stepdown during migration range delete can abort :binary:`~bin.mongod` -- :issue:`SERVER-14032` v2.6 :binary:`~bin.mongos` doesn't verify _id is present for config server upserts -- :issue:`SERVER-13648` better stats from migration cleanup -- :issue:`SERVER-12750` :binary:`~bin.mongos` shouldn't accept initial query with "exhaust" flag set -- :issue:`SERVER-9788` :binary:`~bin.mongos` does not re-evaluate read preference once a valid replica set member is chosen -- :issue:`SERVER-9526` Log messages regarding chunks not very informative when the shard key is of type BinData - -Storage -~~~~~~~ - -- :issue:`SERVER-14198` Std::set and Windows Heap Allocation Reuse produces non-deterministic results -- :issue:`SERVER-13975` Creating index on collection named "system" can cause server to abort -- :issue:`SERVER-13729` Reads & Writes are blocked during data file allocation on Windows -- :issue:`SERVER-13681` :binary:`~bin.mongod` B stalls during background flush on Windows - -Indexing -~~~~~~~~ - -:issue:`SERVER-14494` Dropping collection during active background index build on secondary triggers segfault - -Write Ops -~~~~~~~~~ - -- :issue:`SERVER-14257` "remove" command can cause process termination by throwing unhandled exception if profiling is enabled -- :issue:`SERVER-14024` Update fails when query contains part of a DBRef and results in an insert (upsert:true) -- :issue:`SERVER-13764` debug mechanisms report incorrect nscanned / nscannedObjects for updates - -Networking -~~~~~~~~~~ - -:issue:`SERVER-13734` Remove catch (...) from handleIncomingMsg - -Geo -~~~ - -- :issue:`SERVER-14039` $nearSphere query with 2d index, skip, and limit returns incomplete results -- :issue:`SERVER-13701` Query using 2d index throws exception when using explain() - -Text Search -~~~~~~~~~~~ - -- :issue:`SERVER-14738` Updates to documents with text-indexed fields may lead to incorrect entries -- :issue:`SERVER-14027` Renaming collection within same database fails if wildcard text index present - -Tools -~~~~~ - -- :issue:`SERVER-14212` :binary:`~bin.mongorestore` may drop system users and roles -- :issue:`SERVER-14048` :binary:`~bin.mongodump` against :binary:`~bin.mongos` can't send dump to standard output - -Admin -~~~~~ - -- :issue:`SERVER-14556` Default dbpath for :binary:`~bin.mongod` :option:`--configsvr ` changes in 2.6 -- :issue:`SERVER-14355` Allow dbAdmin role to manually create system.profile collections - -Packaging -~~~~~~~~~ - -:issue:`SERVER-14283` Parameters in installed config file are out of date - -JavaScript -~~~~~~~~~~ - -- :issue:`SERVER-14254` Do not store native function pointer as a property in function prototype -- :issue:`SERVER-13798` v8 garbage collection can cause crash due to independent lifetime of DBClient and Cursor objects -- :issue:`SERVER-13707` mongo shell may crash when converting invalid regular expression - -Shell -~~~~~ - -- :issue:`SERVER-14341` negative opcounter values in serverStatus -- :issue:`SERVER-14107` Querying for a document containing a value of either type Javascript or JavascriptWithScope crashes the shell - -Usability -~~~~~~~~~ - -:issue:`SERVER-13833` userAdminAnyDatabase role should be able to create indexes on admin.system.users and admin.system.roles - -Logging and Diagnostics -~~~~~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-12512` Add role-based, selective audit logging. -- :issue:`SERVER-14341` negative opcounter values in serverStatus - -Testing -~~~~~~~ - -- :issue:`SERVER-14731` plan_cache_ties.js sometimes fails -- :issue:`SERVER-14147` make index_multi.js retry on connection failure -- :issue:`SERVER-13615` sharding_rs2.js intermittent failure due to reliance on opcounters - -.. _2.6.3-changelog: - -2.6.3 -- Changes ----------------- - -- :issue:`SERVER-14302` Fixed: "Equality queries on ``_id`` with - projection may return no results on sharded collections" - -- :issue:`SERVER-14304` Fixed: "Equality queries on ``_id`` with - projection on ``_id`` may return orphan documents on sharded - collections" - -.. _2.6.2-changelog: - -2.6.2 -- Changes ----------------- - -Security -~~~~~~~~ - -- :issue:`SERVER-13727` The :authrole:`backup` authorization role now - includes privileges to run the :dbcommand:`collStats` command. - -- :issue:`SERVER-13804` The built-in role :authrole:`restore` - now has privileges on :data:`admin.system.roles` collection. - -- :issue:`SERVER-13612` Fixed: "SSL-enabled server appears not to be - sending the list of supported certificate issuers to the client" - -- :issue:`SERVER-13753` Fixed: ":binary:`~bin.mongod` may terminate if x.509 - authentication certificate is invalid" - -- :issue:`SERVER-13945` For :ref:`replica set/sharded cluster member - authentication `, now matches x.509 - cluster certificates by attributes instead of by substring comparison. - -- :issue:`SERVER-13868` Now marks V1 users as probed on - databases that do not have surrogate user documents. - -- :issue:`SERVER-13850` Now ensures that the user cache entry is up to - date before using it to determine a user's roles in user management - commands on :binary:`~bin.mongos`. - -- :issue:`SERVER-13588` Fixed: "Shell prints startup warning when auth - enabled" - -Querying -~~~~~~~~ - -- :issue:`SERVER-13731` Fixed: "Stack overflow when parsing deeply nested - :query:`$not` query" -- :issue:`SERVER-13890` Fixed: "Index bounds builder constructs invalid - bounds for multiple negations joined by an :query:`$or`" -- :issue:`SERVER-13752` Verified assertion on empty :query:`$in` clause - and sort on second field in a compound index. -- :issue:`SERVER-13337` Re-enabled ``idhack`` for queries with - projection. -- :issue:`SERVER-13715` Fixed: "Aggregation pipeline execution can fail - with $or and blocking sorts" -- :issue:`SERVER-13714` Fixed: "non-top-level indexable :query:`$not` - triggers query planning bug" -- :issue:`SERVER-13769` Fixed: ":dbcommand:`distinct` command on - indexed field with geo predicate fails to execute" -- :issue:`SERVER-13675` Fixed "Plans with differing performance can tie - during plan ranking" -- :issue:`SERVER-13899` Fixed: "'Whole index scan' query solutions - can use incompatible indexes, return incorrect results" -- :issue:`SERVER-13852` Fixed "IndexBounds::endKeyInclusive not - initialized by constructor" -- :issue:`SERVER-14073` planSummary no longer truncated at 255 characters -- :issue:`SERVER-14174` Fixed: "If ntoreturn is a limit (rather than batch - size) extra data gets buffered during plan ranking" -- :issue:`SERVER-13789` Some nested queries no longer trigger an assertion - error -- :issue:`SERVER-14064` Added planSummary information for :dbcommand:`count` - command log message. -- :issue:`SERVER-13960` Queries containing :query:`$or` no longer miss results if - multiple clauses use the same index. -- :issue:`SERVER-14180` Fixed: "Crash with 'and' clause, - :query:`$elemMatch`, and nested :query:`$mod` or regex" -- :issue:`SERVER-14176` Natural order sort specification no longer ignored if - query is specified. -- :issue:`SERVER-13754` Bounds no longer combined for :query:`$or` - queries that can use merge sort. - -Geospatial -~~~~~~~~~~ - -:issue:`SERVER-13687` Results of :query:`$near` query on compound -multi-key 2dsphere index are now sorted by distance. - -Write Operations -~~~~~~~~~~~~~~~~ - -:issue:`SERVER-13802` Insert field validation no longer stops at first -``Timestamp()`` field. - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-13993` Fixed: "log a message when - ``shouldChangeSyncTarget()`` believes a node should change sync - targets" - -- :issue:`SERVER-13976` Fixed: "Cloner needs to detect failure to - create collection" - -Sharding -~~~~~~~~ - -- :issue:`SERVER-13616` Resolved: "'type 7' (OID) error when acquiring - distributed lock for first time" -- :issue:`SERVER-13812` Now catches exception thrown by - ``getShardsForQuery`` for geo query. -- :issue:`SERVER-14138` :binary:`~bin.mongos` will now correctly target - multiple shards for nested field shard key predicates. -- :issue:`SERVER-11332` Fixed: "Authentication requests delayed if first - config server is unresponsive" - -Map/Reduce -~~~~~~~~~~ - -- :issue:`SERVER-14186` Resolved: ":method:`rs.stepDown` during - mapReduce causes fassert in logOp" -- :issue:`SERVER-13981` Temporary map/reduce collections are now - correctly replicated to secondaries. - -Storage -~~~~~~~ - -- :issue:`SERVER-13750` :dbcommand:`convertToCapped` on empty - collection no longer aborts after ``invariant()`` failure. -- :issue:`SERVER-14056` Moving large collection across databases - with renameCollection no longer triggers fatal assertion. -- :issue:`SERVER-14082` Fixed: "Excessive freelist scanning for MaxBucket" -- :issue:`SERVER-13737` CollectionOptions parser now skips - non-numeric for "size"/"max" elements if values non-numeric. - -Build and Packaging -~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-13950` MongoDB Enterprise now includes required - dependency list. -- :issue:`SERVER-13862` Support for mongodb-org-server installation - 2.6.1-1 on RHEL5 via RPM. -- :issue:`SERVER-13724` Added SCons flag to override treating all - warnings as errors. - -Diagnostics -~~~~~~~~~~~ - -- :issue:`SERVER-13587` Resolved: ":data:`~system.profile.ndeleted` in - ``system.profile`` documents reports 1 too few documents - removed" -- :issue:`SERVER-13368` Improved exposure of timing information in - :dbcommand:`currentOp`. - -Administration -~~~~~~~~~~~~~~ - -:issue:`SERVER-13954` :setting:`security.javascriptEnabled` option is -now available in the YAML configuration file. - -Tools -~~~~~ - -- :issue:`SERVER-10464` :binary:`~bin.mongodump` can now query - ``oplog.$main`` and ``oplog.rs`` when using - ``--dbpath``. -- :issue:`SERVER-13760` :binary:`~bin.mongoexport` can now handle large - timestamps on Windows. - -Shell -~~~~~ - -- :issue:`SERVER-13865` Shell now returns correct ``WriteResult`` for - compatibility-mode upsert with non-OID equality predicate on ``_id`` - field. -- :issue:`SERVER-13037` Fixed typo in error message for "compatibility - mode". - -Internal Code -~~~~~~~~~~~~~ - -- :issue:`SERVER-13794` Fixed: "Unused snapshot history consuming - significant heap space" -- :issue:`SERVER-13446` Removed Solaris builds dependency on ILLUMOS libc. -- :issue:`SERVER-14092` MongoDB upgrade 2.4 to 2.6 check no longer returns - an error in internal collections. -- :issue:`SERVER-14000` Added new lsb file location for Debian 7.1 - -Testing -~~~~~~~ - -- :issue:`SERVER-13723` Stabilized ``tags.js`` after a change in its - timeout when it was ported to use write commands. -- :issue:`SERVER-13494` Fixed: "``setup_multiversion_mongodb.py`` doesn't - download 2.4.10 because of non-numeric version sorting" -- :issue:`SERVER-13603` Fixed: "Test suites with options tests fail when run - with ``--nopreallocj``" -- :issue:`SERVER-13948` Fixed: "``awaitReplication()`` failures - related to getting a config version from master causing test - failures" -- :issue:`SERVER-13839` Fixed ``sync2.js`` failure. -- :issue:`SERVER-13972` Fixed ``connections_opened.js`` failure. -- :issue:`SERVER-13712` Reduced peak disk usage of test suites. -- :issue:`SERVER-14249` Added tests for querying oplog via - :binary:`~bin.mongodump` using ``--dbpath`` -- :issue:`SERVER-10462` Fixed: "Windows file locking related buildbot failures" - -.. _2.6.1-changelog: - -2.6.1 -- Changes ----------------- - -Stability -~~~~~~~~~ - -:issue:`SERVER-13739` Repair database failure can delete database files - -Build and Packaging -~~~~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-13287` Addition of debug symbols has doubled compile time -- :issue:`SERVER-13563` Upgrading from 2.4.x to 2.6.0 via ``yum`` clobbers configuration file -- :issue:`SERVER-13691` yum and apt "stable" repositories contain release candidate 2.6.1-rc0 packages -- :issue:`SERVER-13515` Cannot install MongoDB as a service on Windows - -Querying -~~~~~~~~ - -- :issue:`SERVER-13066` Negations over multikey fields do not use index -- :issue:`SERVER-13495` Concurrent ``GETMORE`` and ``KILLCURSORS`` operations can cause race condition and server crash -- :issue:`SERVER-13503` The :query:`$where` operator should not be allowed under :query:`$elemMatch` -- :issue:`SERVER-13537` Large skip and and limit values can cause crash in blocking sort stage -- :issue:`SERVER-13557` Incorrect negation of $elemMatch value in 2.6 -- :issue:`SERVER-13562` Queries that use tailable cursors do not stream results if skip() is applied -- :issue:`SERVER-13566` Using the OplogReplay flag with extra predicates can yield incorrect results -- :issue:`SERVER-13611` Missing sort order for compound index leads to unnecessary in-memory sort -- :issue:`SERVER-13618` Optimization for sorted $in queries not applied to reverse sort order -- :issue:`SERVER-13661` Increase the maximum allowed depth of query objects -- :issue:`SERVER-13664` Query with :query:`$elemMatch` using a compound multikey index can generate incorrect results -- :issue:`SERVER-13677` Query planner should traverse through $all while handling $elemMatch object predicates -- :issue:`SERVER-13766` Dropping index or collection while $or query is yielding triggers fatal assertion - -Geospatial -~~~~~~~~~~ - -- :issue:`SERVER-13666` :query:`$near` queries with out-of-bounds points in legacy format can lead to crashes -- :issue:`SERVER-13540` The ``geoNear`` command no longer returns distance in radians for legacy point -- :issue:`SERVER-13486`: The ``geoNear`` command can create too large BSON objects for aggregation. - -Replication -~~~~~~~~~~~ - -- :issue:`SERVER-13500` Changing replica set configuration can crash running members -- :issue:`SERVER-13589` Background index builds from a 2.6.0 primary fail to complete on 2.4.x secondaries -- :issue:`SERVER-13620` Replicated data definition commands will fail on secondaries during background index build -- :issue:`SERVER-13496` Creating index with same name but different spec in mixed version replicaset can abort replication - -Sharding -~~~~~~~~ - -- :issue:`SERVER-12638` Initial sharding with hashed shard key can result in duplicate split points -- :issue:`SERVER-13518` The ``_id`` field is no longer automatically generated by :binary:`~bin.mongos` when missing -- :issue:`SERVER-13777` Migrated ranges waiting for deletion do not report cursors still open - -Security -~~~~~~~~ - -- :issue:`SERVER-9358` Log rotation can overwrite previous log files -- :issue:`SERVER-13644` Sensitive credentials in startup options are not redacted and may be exposed -- :issue:`SERVER-13441` Inconsistent error handling in user management shell helpers - -Write Operations -~~~~~~~~~~~~~~~~ - -- :issue:`SERVER-13466` Error message in collection creation failure contains incorrect namespace -- :issue:`SERVER-13499` Yield policy for batch-inserts should be the same as for batch-updates/deletes -- :issue:`SERVER-13516` Array updates on documents with more than 128 BSON elements may crash :binary:`~bin.mongod` diff --git a/source/release-notes/2.6-compatibility.txt b/source/release-notes/2.6-compatibility.txt deleted file mode 100644 index 81f81b43264..00000000000 --- a/source/release-notes/2.6-compatibility.txt +++ /dev/null @@ -1,948 +0,0 @@ -==================================== -Compatibility Changes in MongoDB 2.6 -==================================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: twocols - -The following 2.6 changes can affect the compatibility with older -versions of MongoDB. See :doc:`/release-notes/2.6` for the full list of -the 2.6 changes. - -Index Changes -------------- - -.. _2.6-index-key-length-incompatibility: - -Enforce Index Key Length Limit -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - MongoDB 2.6 implements a stronger enforcement of the limit on - :limit:`index key `. - - Creating indexes will error if an index key in an existing document - exceeds the limit: - - - :method:`db.collection.ensureIndex()`, - :method:`db.collection.reIndex()`, :dbcommand:`compact`, and - ``repairDatabase`` will error and not create the index. - Previous versions of MongoDB would create the index but not index - such documents. - - - Because :method:`db.collection.reIndex()`, :dbcommand:`compact`, - and ``repairDatabase`` drop *all* the indexes from a - collection and then recreate them sequentially, the error from the - index key limit prevents these operations from rebuilding any - remaining indexes for the collection and, in the case of the - ``repairDatabase`` command, from continuing with the - remainder of the process. - - Inserts will error: - - - :method:`db.collection.insert()` and other operations that perform - inserts (e.g. ``db.collection.save()`` and - :method:`db.collection.update()` with ``upsert`` that result in - inserts) will fail to insert if the new document has an indexed - field whose corresponding index entry exceeds the limit. - Previous versions of MongoDB would insert but not index such - documents. - - - :binary:`~bin.mongorestore` and :binary:`~bin.mongoimport` will - fail to insert if the new document has an indexed field whose - corresponding index entry exceeds the limit. - - Updates will error: - - - :method:`db.collection.update()` and - ``db.collection.save()`` operations on an indexed field will error - if the updated value causes the index entry to exceed the limit. - - - If an existing document contains an indexed field whose index - entry exceeds the limit, updates on other fields that result in - the relocation of a document on disk will error. - - Chunk Migration will fail: - - - Migrations will fail for a chunk that has a document with an - indexed field whose index entry exceeds the limit. - - - If left unfixed, the chunk will repeatedly fail migration, - effectively ceasing chunk balancing for that collection. Or, if - chunk splits occur in response to the migration failures, this - response would lead to unnecessarily large number of chunks and an - overly large config databases. - - Secondary members of replica sets will warn: - - - Secondaries will continue to replicate documents with an indexed - field whose corresponding index entry exceeds the limit on initial - sync but will print warnings in the logs. - - - Secondaries allow index build and rebuild operations on a - collection that contains an indexed field whose corresponding - index entry exceeds the limit but with warnings in the logs. - - - With *mixed version* replica sets where the secondaries are - version 2.6 and the primary is version 2.4, secondaries will - replicate documents inserted or updated on the 2.4 primary, but - will print error messages in the log if the documents contain an - indexed field whose corresponding index entry exceeds the limit. - -Solution - Run :v2.6:`db.upgradeCheckAllDBs() - ` to find current keys that - violate this limit and correct as appropriate. Preferably, run the - test before upgrading; i.e. connect the 2.6 ``mongo`` shell - to your MongoDB 2.4 database and run the method. - -If you have an existing data set and want to disable the default index -key length validation so that you can upgrade before resolving these -indexing issues, use the :parameter:`failIndexKeyTooLong` parameter. - -Index Specifications Validate Field Names -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - In MongoDB 2.6, create and re-index operations fail when the index - key refers to an empty field, e.g. ``"a..b" : 1`` or the field name - starts with a dollar sign (``$``). - - - :method:`db.collection.ensureIndex()` will not create a new index - with an invalid or empty key name. - - - :method:`db.collection.reIndex()`, :dbcommand:`compact`, and - ``repairDatabase`` will error if an index exists with an - invalid or empty key name. - - - Chunk migration will fail if an index exists with an - invalid or empty key name. - - Previous versions of MongoDB allow the index. - -Solution - Run :v2.6:`db.upgradeCheckAllDBs() - ` to find current keys that - violate this limit and correct as appropriate. Preferably, run the - test before upgrading; i.e. connect the 2.6 ``mongo`` shell - to your MongoDB 2.4 database and run the method. - -``ensureIndex`` and Existing Indexes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - :method:`db.collection.ensureIndex()` now errors: - - - if you try to create an existing index but with different - options; e.g. in the following example, the second - :method:`db.collection.ensureIndex()` will error. - - .. code-block:: javascript - - db.mycollection.ensureIndex( { x: 1 } ) - db.mycollection.ensureIndex( { x: 1 }, { unique: 1 } ) - - - if you specify an index name that already exists but the key - specifications differ; e.g. in the following example, the second - :method:`db.collection.ensureIndex()` will error. - - .. code-block:: javascript - - db.mycollection.ensureIndex( { a: 1 }, { name: "myIdx" } ) - db.mycollection.ensureIndex( { z: 1 }, { name: "myIdx" } ) - - Previous versions did not create the index but did not error. - -.. _write-methods-incompatibility: - -Write Method Acknowledgements ------------------------------ - -Description - The ``mongo`` shell write methods - :method:`db.collection.insert()`, :method:`db.collection.update()`, - ``db.collection.save()`` and :method:`db.collection.remove()` - now integrate the :ref:`write concern ` - directly into the method rather than with a separate ``getLastError`` - command to provide :ref:`acknowledgement of writes ` whether - run interactively in the ``mongo`` shell or - non-interactively in a script. In previous versions, these methods - exhibited a "fire-and-forget" behavior. - [#mongo-shell-gle-interactive]_ - -- Existing scripts for the ``mongo`` shell that used these - methods will now wait for acknowledgement, which take **longer** than - the previous "fire-and-forget" behavior. - -- The write methods now return a :method:`WriteResult` object that - contains the results of the operation, including any write errors - and write concern errors, and obviates the need to call - ``getLastError`` command to get the status of the results. - See :method:`db.collection.insert()`, - :method:`db.collection.update()`, ``db.collection.save()`` - and :method:`db.collection.remove()` for details. - -- In sharded environments, :binary:`~bin.mongos` no longer supports - "fire-and-forget" behavior. This limits throughput when writing data - to sharded clusters. - -.. [#mongo-shell-gle-interactive] - In previous versions, when using the ``mongo`` shell - interactively, the ``mongo`` shell automatically called the - ``getLastError`` command after a write method to provide - acknowledgement of the write. Scripts, however, would observe "fire-and-forget" - behavior in previous versions unless the scripts included an - **explicit** call to the ``getLastError`` command after a - write method. - -Solution - Scripts that used these ``mongo`` shell methods for bulk write - operations with "fire-and-forget" behavior should use the - :method:`Bulk()` methods. - - In sharded environments, applications using any driver or - ``mongo`` shell should use :method:`Bulk()` methods for optimal - performance when inserting or modifying groups of documents. - - For example, instead of: - - .. code-block:: javascript - - for (var i = 1; i <= 1000000; i++) { - db.test.insert( { x : i } ); - } - - In MongoDB 2.6, replace with :method:`Bulk()` operation: - - .. code-block:: javascript - - var bulk = db.test.initializeUnorderedBulkOp(); - - for (var i = 1; i <= 1000000; i++) { - bulk.insert( { x : i} ); - } - - bulk.execute( { w: 1 } ); - - Bulk method returns a :method:`BulkWriteResult` object that contains - the result of the operation. - - .. seealso:: - - - :ref:`rel-notes-write-operations` - - :method:`Bulk()` - - :method:`Bulk.execute()` - - :method:`db.collection.initializeUnorderedBulkOp()` - - :method:`db.collection.initializeOrderedBulkOp()` - -``db.collection.aggregate()`` Change ------------------------------------- - -Description - The :method:`db.collection.aggregate()` method in the - ``mongo`` shell defaults to returning a cursor to the results - set. This change enables the aggregation pipeline to return result - sets of any size and requires cursor iteration to access the result - set. For example: - - .. code-block:: javascript - - var myCursor = db.orders.aggregate( [ - { - $group: { - _id: "$cust_id", - total: { $sum: "$price" } - } - } - ] ); - - myCursor.forEach( function(x) { printjson (x); } ); - - Previous versions returned a single document with a field ``results`` - that contained an array of the result set, subject to the :ref:`BSON - Document size ` limit. Accessing the result - set in the previous versions of MongoDB required accessing the - ``results`` field and iterating the array. For example: - - .. code-block:: javascript - - var returnedDoc = db.orders.aggregate( [ - { - $group: { - _id: "$cust_id", - total: { $sum: "$price" } - } - } - ] ); - - var myArray = returnedDoc.result; // access the result field - - myArray.forEach( function(x) { printjson (x); } ); - -Solution - Update scripts that currently expect - :method:`db.collection.aggregate()` to return a document with a - ``results`` array to handle cursors instead. - -.. seealso:: - - - :ref:`rn-2.6-aggregation-cursor` - - :method:`db.collection.aggregate()` - -Write Concern Validation ------------------------- - -Description - Specifying a write concern that includes ``j: true`` to a - :binary:`~bin.mongod` or :binary:`~bin.mongos` instance running with - ``--nojournal`` option now errors. Previous versions would - ignore the ``j: true``. - -Solution - Either remove the ``j: true`` specification from the write concern when - issued against a :binary:`~bin.mongod` or :binary:`~bin.mongos` instance - with ``--nojournal`` or run :binary:`~bin.mongod` or - :binary:`~bin.mongos` with journaling. - -Security Changes ----------------- - -.. _authentication-incompatibility: - -New Authorization Model -~~~~~~~~~~~~~~~~~~~~~~~ - -Description - MongoDB 2.6 :ref:`authorization model ` changes how - MongoDB stores and manages user privilege information: - - - Before the upgrade, MongoDB 2.6 requires at least one user in the - admin database. - - - MongoDB versions using older models cannot create/modify users or - create user-defined roles. - -Solution - Ensure that at least one user exists in the admin database. If no - user exists in the admin database, add a user. Then upgrade to - MongoDB 2.6. Finally, upgrade the user privilege model. See - :doc:`/release-notes/2.6-upgrade`. - - .. important:: - - .. include:: /includes/important-upgrade-auth-model-prerequisites.rst - -.. seealso:: - - :ref:`2.6-relnotes-security` - - -.. _ssl-hostname-validation: - -SSL Certificate Hostname Validation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - The SSL certificate validation now checks the Common Name (``CN``) - and the Subject Alternative Name (``SAN``) fields to ensure that - either the ``CN`` or one of the ``SAN`` entries matches the hostname - of the server. As a result, if you currently use SSL and *neither* - the ``CN`` nor any of the ``SAN`` entries of your current SSL - certificates match the hostnames, upgrading to version 2.6 will - cause the SSL connections to fail. - -Solution - To allow for the continued use of these certificates, MongoDB - provides the :setting:`~net.ssl.allowInvalidCertificates` setting. The - setting is available for: - - - :binary:`~bin.mongod` and :binary:`~bin.mongos` to bypass the validation - of SSL certificates on other servers in the cluster. - - - ``mongo`` shell, :ref:`MongoDB tools that support SSL - `, and the C++ driver to bypass the - validation of server certificates. - - When using the :setting:`~net.ssl.allowInvalidCertificates` setting, MongoDB - logs as a warning the use of the invalid certificates. - - .. warning:: The :setting:`~net.ssl.allowInvalidCertificates` setting - bypasses the other certificate validation, such as checks for - expiration and valid signatures. - -.. _2.6-2dsphere-version-incompatibility: - -``2dsphere`` Index Version 2 ----------------------------- - -Description - MongoDB 2.6 introduces a version 2 of the :ref:`2dsphere index - <2dsphere-index>`. If a document lacks a ``2dsphere`` - index field (or the field is ``null`` or an empty array), MongoDB - does not add an entry for the document to the ``2dsphere`` index. - For inserts, MongoDB inserts the document but does not add to the - ``2dsphere`` index. - - Previous version would not insert documents where the ``2dsphere`` - index field is a ``null`` or an empty array. For documents that lack - the ``2dsphere`` index field, previous versions would insert and - index the document. - -Solution - To revert to old behavior, create the ``2dsphere`` index with ``{ - "2dsphereIndexVersion" : 1 }`` to create a version 1 index. However, - version 1 index cannot use the new GeoJSON geometries. - -.. seealso:: - - :ref:`2dsphere-v2` - -Log Messages ------------- - -Timestamp Format Change -~~~~~~~~~~~~~~~~~~~~~~~ - -Description - Each message now starts with the timestamp format given in :ref:`2.6-time-format-changes`. - Previous versions used the ``ctime`` format. - -Solution - MongoDB adds a new option ``--timeStampFormat`` which supports - timestamp format in ``ctime``, - ``iso8601-utc``, and ``iso8601-local`` (new default). - -.. Commenting out the others for now -- they're just placeholders and notes for self -.. Other - ~~~~~ - - ``query`` log messages add new field ``planSummary`. - - ``getmore`` log messages now omit the ``query`` field. - - ``mongo`` shell now calls :dbcommand:`isMaster` command - instead of the ``admin`` command :dbcommand:`replSetGetStatus` - during the construction of the shell prompt. Log messages change - accordingly, as in the following - .. code-block:: none - command: { isMaster: 1.0, forShell: 1.0 } keyUpdates:0 numYields:0 reslen:178 0ms - - In 2.6, log messages for write methods consist of a message for - the method followed by a message for the associated write command. - Previously, the messages consisted of a message for the method - followed by a message for the ``getlasterror`` command. For example: - .. code-block:: none - 2014-03-04T21:16:21.992-0500 [conn1] remove test.server12774 query: { a: { $lt: 3.0 } } ndeleted:2 keyUpdates:0 numYields:0 locks(micros) w:344 0ms - 2014-03-04T21:16:21.993-0500 [conn1] command test.$cmd command: { delete: "myCollection", deletes: [ { q: { a: { $lt: 3.0 } }, limit: 0.0 } ], ordered: true } keyUpdates:0 numYields:0 reslen:40 0ms - - MongoDB removes the two blank lines preceding and following the: - ``***** SERVER RESTARTED *****`` message. - - ``writeback`` error message and ``FlushViewOfFile`` error message - removes the space between the duration time and ``ms``. - -Package Configuration Changes ------------------------------ - -.. _2.6-default-bindip-incompatibility: - -Default ``bindIp`` for RPM/DEB Packages -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - In the official MongoDB packages in RPM (Red Hat, CentOS, Fedora - Linux, and derivatives) and DEB (Debian, Ubuntu, and derivatives), - the default :setting:`~net.bindIp` value attaches MongoDB components to - the localhost interface *only*. These packages set this default in - the default configuration file (i.e. ``/etc/mongod.conf``.) - -Solution - If you use one of these packages and have *not* modified the default - ``/etc/mongod.conf`` file, you will need to set :setting:`~net.bindIp` - before or during the upgrade. - -There is no default :setting:`~net.bindIp` setting in any other official MongoDB -packages. - -.. _2.6-snmp-iana-mib-incompatibility: - -SNMP Changes -~~~~~~~~~~~~ - -Description - - The IANA enterprise identifier for MongoDB changed from - 37601 to 34601. - - - MongoDB changed the MIB field name ``globalopcounts`` to - ``globalOpcounts``. - -Solution - - Users of SNMP monitoring must modify their SNMP configuration - (i.e. MIB) from 37601 to 34601. - - - Update references to ``globalopcounts`` to ``globalOpcounts``. - -Remove Method Signature Change ------------------------------- - -Description - :method:`db.collection.remove()` requires a query document as a - parameter. In previous versions, the method invocation without a - query document deleted all documents in a collection. - -Solution - For existing :method:`db.collection.remove()` invocations without a - query document, modify the invocations to include an empty document - :method:`db.collection.remove({})`. - -.. _update-operations-incompatibility: - -Update Operator Syntax Validation ---------------------------------- - -Description - - :ref:`Update operators (e.g $set) ` - must specify a non-empty operand expression. For example, the - following expression is now invalid: - - .. code-block:: javascript - - { $set: { } } - - - :ref:`Update operators (e.g $set) ` - cannot repeat in the update statement. For example, the following - expression is invalid: - - .. code-block:: javascript - - { $set: { a: 5 }, $set: { b: 5 } } - -.. COMMENT -- could clarify that the MongoDB server cannot accept - update expressions that include duplicate operators so as to - distinguish from drivers/mongo shell that will flatten out the - expression, but will hold off until someone requests. - -Updates Enforce Field Name Restrictions ---------------------------------------- - -Description - - Updates cannot use :doc:`update operators (e.g $set) - ` to target fields with empty field - names (i.e. ``""``). - - - Updates no longer support saving field names that contain a dot - (``.``) or a field name that starts with a dollar sign (``$``). - -Solution - - For existing documents that have fields with empty names ``""``, - replace the whole document. See :method:`db.collection.update()` - and ``db.collection.save()`` for details on replacing an existing - document. - - - For existing documents that have fields with names that contain a - dot (``.``), either replace the whole document or :update:`unset - <$unset>` the field. To find fields whose names contain a dot, run - :v2.6:`db.upgradeCheckAllDBs() `. - - - For existing documents that have fields with names that start with - a dollar sign (``$``), :update:`unset <$unset>` or :update:`rename - <$rename>` those fields. To find fields whose names start with a - dollar sign, run :v2.6:`db.upgradeCheckAllDBs() - `. - -See :ref:`rel-notes-write-operations` for the changes to the write -operation protocol, and :ref:`rel-notes-data-modification` for the -changes to the insert and update operations. Also consider the -documentation of the :limit:`Restrictions on Field Names`. - -Query and Sort Changes ----------------------- - -.. _query-field-name-incompatibility: - -Enforce Field Name Restrictions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - Queries cannot specify conditions on fields with names that start - with a dollar sign (``$``). - -Solution - :update:`Unset <$unset>` or :update:`rename <$rename>` existing - fields whose names start with a dollar sign (``$``). Run - :v2.6:`db.upgradeCheckAllDBs() - ` to find fields whose - names start with a dollar sign. - -.. _2.6-sparse-index-incompatibility: - -Sparse Index and Incomplete Results -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - If a :ref:`sparse index ` results in an - incomplete result set for queries and sort operations, MongoDB will - not use that index unless a :method:`~cursor.hint()` explicitly - specifies the index. - - For example, the query ``{ x: { $exists: false } }`` will no longer - use a sparse index on the ``x`` field, unless explicitly hinted. - -Solution - To override the behavior to use the sparse index and return - incomplete results, explicitly specify the index with a - :method:`~cursor.hint()`. - -See :ref:`sparse-index-incomplete-results` for an example that details -the new behavior. - -.. _2.6-sort-value-incompatibility: - -``sort()`` Specification Values -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - The :method:`~cursor.sort()` method **only** accepts the following - values for the sort keys: - - - ``1`` to specify ascending order for a field, - - - ``-1`` to specify descending order for a field, or - - - :expression:`$meta` expression to specify sort by the text search - score. - - Any other value will result in an error. - - Previous versions also accepted either ``true`` or ``false`` for - ascending. - -Solution - Update sort key values that use ``true`` or ``false`` to ``1``. - -.. _2.6-skip-incompatibility: - -``skip()`` and ``_id`` Queries -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - Equality match on the ``_id`` field obeys :method:`~cursor.skip()`. - - Previous versions ignored :method:`~cursor.skip()` when performing - an equality match on the ``_id`` field. - -.. _2.6-explain-query-plan-incompatibility: - -``explain()`` Retains Query Plan Cache -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - :method:`~cursor.explain()` no longer clears the :doc:`query plans - ` cached for that :term:`query shape`. - - In previous versions, :method:`~cursor.explain()` would have the - side effect of clearing the query plan cache for that query shape. - -.. seealso:: - - The :method:`PlanCache() ` reference. - - -Geospatial Changes -~~~~~~~~~~~~~~~~~~ - -.. _2.6-geo-maxDistance-incompatibility: - -``$maxDistance`` Changes -```````````````````````` - -Description - - For :query:`$near` queries on GeoJSON data, if the queries specify - a :query:`$maxDistance`, :query:`$maxDistance` must be inside of - the :query:`$near` document. - - In previous version, :query:`$maxDistance` could be either inside - or outside the :query:`$near` document. - - - :query:`$maxDistance` must be a positive value. - -Solution - - Update any existing :query:`$near` queries on GeoJSON data that - currently have the :query:`$maxDistance` outside the - :query:`$near` document - - - Update any existing queries where :query:`$maxDistance` is a - negative value. - -.. _2.6-uniqueDocs-incompatibility: - -Deprecated ``$uniqueDocs`` -`````````````````````````` - -Description - MongoDB 2.6 deprecates ``$uniqueDocs``, and geospatial queries - no longer return duplicated results when a document matches the - query multiple times. - -.. _2.6-geospatial-validation-incompatibility: - -Stronger Validation of Geospatial Queries -````````````````````````````````````````` - -Description - MongoDB 2.6 enforces a stronger validation of geospatial queries, - such as validating the options or GeoJSON specifications, and errors - if the geospatial query is invalid. Previous versions - allowed/ignored invalid options. - -Query Operator Changes -~~~~~~~~~~~~~~~~~~~~~~ - -.. _2.6-not-incompatibility: - -``$not`` Query Behavior Changes -``````````````````````````````` - -Description - - Queries with :query:`$not` expressions on an indexed field now match: - - - Documents that are missing the indexed field. Previous versions - would not return these documents using the index. - - - Documents whose indexed field value is a different type than - that of the specified value. Previous versions would not return - these documents using the index. - - For example, if a collection ``orders`` contains the following - documents: - - .. code-block:: javascript - - { _id: 1, status: "A", cust_id: "123", price: 40 } - { _id: 2, status: "A", cust_id: "xyz", price: "N/A" } - { _id: 3, status: "D", cust_id: "xyz" } - - If the collection has an index on the ``price`` field: - - .. code-block:: javascript - - db.orders.ensureIndex( { price: 1 } ) - - The following query uses the index to search for documents where - ``price`` is not greater than or equal to ``50``: - - .. code-block:: javascript - - db.orders.find( { price: { $not: { $gte: 50 } } } ) - - In 2.6, the query returns the following documents: - - .. code-block:: javascript - - { "_id" : 3, "status" : "D", "cust_id" : "xyz" } - { "_id" : 1, "status" : "A", "cust_id" : "123", "price" : 40 } - { "_id" : 2, "status" : "A", "cust_id" : "xyz", "price" : "N/A" } - - In previous versions, indexed plans would only - return matching documents where the type of the field matches the - type of the query predicate: - - .. code-block:: javascript - - { "_id" : 1, "status" : "A", "cust_id" : "123", "price" : 40 } - - If using a collection scan, previous versions would return the - same results as those in 2.6. - - - MongoDB 2.6 allows chaining of :query:`$not` expressions. - -.. _2.6-null-incompatibility: - -``null`` Comparison Queries -```````````````````````````` - -Description - - :query:`$lt` and :query:`$gt` comparisons to ``null`` no - longer match documents that are missing the field. - - - ``null`` equality conditions on array elements (e.g. ``"a.b": - null``) no longer match document missing the nested field ``a.b`` - (e.g. ``a: [ 2, 3 ]``). - - - ``null`` equality queries (i.e. ``field: null`` ) now match fields - with values ``undefined``. - -.. _2.6-all-incompatibility: - -``$all`` Operator Behavior Change -````````````````````````````````` - -Description - - The :query:`$all` operator is now equivalent to an :query:`$and` - operation of the specified values. This change in behavior can - allow for more matches than previous versions when passed an array - of a single nested array (e.g. ``[ [ "A" ] ]``). When passed an - array of a nested array, :query:`$all` can now match documents - where the field contains the nested array as an element (e.g. - ``field: [ [ "A" ], ... ]``), *or* the field equals the nested - array (e.g. ``field: [ "A", "B" ]``). Earlier version could only - match documents where the field contains the nested array. - - - The :query:`$all` operator returns no match if the array field - contains nested arrays (e.g. ``field: [ "a", ["b"] ]``) and - :query:`$all` on the nested field is the element of the nested - array (e.g. ``"field.1": { $all: [ "b" ] }``). Previous versions - would return a match. - -.. _2.6-mod-operator-incompatibility: - -``$mod`` Operator Enforces Strict Syntax -```````````````````````````````````````` - -Description - The :query:`$mod` operator now only accepts an array with exactly - two elements, and errors when passed an array with fewer or more - elements. See :ref:`mod-not-enough-elements` and :ref:`mod-too-many-elements` - for details. - - In previous versions, if passed an array with one element, the - :query:`$mod` operator uses ``0`` as the second element, and if - passed an array with more than two elements, the :query:`$mod` - ignores all but the first two elements. Previous versions do return - an error when passed an empty array. - -Solution - Ensure that the array passed to :query:`$mod` contains exactly two - elements: - - - If the array contains the a single element, add ``0`` as the - second element. - - - If the array contains more than two elements, remove the extra - elements. - -.. _2.6-where-incompatibility: - -``$where`` Must Be Top-Level -```````````````````````````` - -Description - :query:`$where` expressions can now only be at top level and cannot be - nested within another expression, such as :query:`$elemMatch`. - -Solution - Update existing queries that nest :query:`$where`. - -``$exists`` and ``notablescan`` -``````````````````````````````` - -If the MongoDB server has disabled collection scans, i.e. -:parameter:`notablescan`, then :query:`$exists` queries that have no -*indexed solution* will error. - -.. _2.6-min-max-key-equality-match-incompatibility: - -``MinKey`` and ``MaxKey`` Queries -````````````````````````````````` - -Description - Equality match for either ``MinKey`` or - ``MaxKey`` no longer match documents missing the field. - -.. COMMENT will wait to doc the following in case the resolution - matches the 2.4 behavior. :query:`$elemMatch` against nested arrays - - SERVER-12496 - -Nested Array Queries with $elemMatch -```````````````````````````````````` - -Description - The :query:`$elemMatch` query operator no longer traverses - recursively into nested arrays. - - For example, if a collection ``test`` contains the following - document: - - .. code-block:: javascript - - { "_id": 1, "a" : [ [ 1, 2, 5 ] ] } - - In 2.6, the following :query:`$elemMatch` query does *not* match the - document: - - .. code-block:: javascript - - db.test.find( { a: { $elemMatch: { $gt: 1, $lt: 5 } } } ) - -Solution - Update existing queries that rely upon the old behavior. - -Text Search Compatibility -~~~~~~~~~~~~~~~~~~~~~~~~~ - -MongoDB does not support the use of the :query:`$text` query operator -in mixed sharded cluster deployments that contain both version 2.4 -and version 2.6 shards. See :doc:`/release-notes/2.6-upgrade` for -upgrade instructions. - -Replica Set/Sharded Cluster Validation --------------------------------------- - -.. _2.6-metadata-check-incompatibility: - -Shard Name Checks on Metadata Refresh -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - For sharded clusters, MongoDB 2.6 disallows a shard from refreshing - the metadata if the shard name has not been explicitly set. - - For mixed sharded cluster deployments that contain both version 2.4 - and version 2.6 shards, this change can cause errors when migrating - chunks **from** version 2.4 shards **to** version 2.6 shards if the - shard name is unknown to the version 2.6 shards. MongoDB does not - support migrations in mixed sharded cluster deployments. - -Solution - Upgrade all components of the cluster to 2.6. See - :doc:`/release-notes/2.6-upgrade`. - -.. _2.6-repl-set-vote-incompatibility: - -Replica Set Vote Configuration Validation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Description - MongoDB now deprecates giving any :term:`replica set` member more - than a single vote. During configuration, - :rsconf:`members[n].votes` should only have a - value of 1 for voting members and 0 for non-voting members. MongoDB - treats values other than 1 or 0 as a value of 1 and produces a - warning message. - -Solution - Update :rsconf:`members[n].votes` with values - other than 1 or 0 to 1 or 0 as appropriate. - -.. _2.6-time-format-changes: - -Time Format Changes -------------------- - -MongoDB now uses ``iso8601-local`` when formatting time data in many -outputs. This format follows the template -``YYYY-MM-DDTHH:mm:ss.mmm<+/-Offset>``. For example, ``2014-03-04T20:13:38.944-0500``. - -This change impacts all clients using -:ref:`Extended JSON ` in *Strict mode*, such as -:binary:`~bin.mongoexport`. - -.. _2.6-compatibility-other-resources: - -Other Resources ---------------- - -- `All backwards incompatible changes (JIRA) `_. - -- :doc:`/release-notes/2.6`. - -- :doc:`/release-notes/2.6-upgrade` for the upgrade process. diff --git a/source/release-notes/2.6-downgrade.txt b/source/release-notes/2.6-downgrade.txt deleted file mode 100644 index 4dddd88a80e..00000000000 --- a/source/release-notes/2.6-downgrade.txt +++ /dev/null @@ -1,309 +0,0 @@ -========================== -Downgrade MongoDB from 2.6 -========================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -Before you attempt any downgrade, familiarize yourself with the content -of this document, particularly the :ref:`2.6-downgrade-considerations` -and the procedure for :ref:`downgrading sharded clusters -<2.6-downgrade-cluster>`. - -.. _2.6-downgrade-considerations: - -Downgrade Recommendations and Checklist ---------------------------------------- - -When downgrading, consider the following: - -Downgrade Path -~~~~~~~~~~~~~~ - -Once upgraded to MongoDB 2.6, you **cannot** downgrade to **any** version -earlier than MongoDB 2.4. If you created ``text`` or ``2dsphere`` -indexes while running 2.6, you can only downgrade to MongoDB 2.4.10 or -later. - -Preparedness -~~~~~~~~~~~~ - -- :ref:`Remove or downgrade version 2 text indexes - ` before downgrading MongoDB 2.6 to 2.4. - -- :ref:`Remove or downgrade version 2 2dsphere indexes - ` before downgrading MongoDB 2.6 to 2.4. - -- :ref:`downgrade-user-auth-model`. If you have upgraded to the 2.6 - user authorization model, you must downgrade the user model to 2.4 - before downgrading MongoDB 2.6 to 2.4. - -Procedures -~~~~~~~~~~ - -Follow the downgrade procedures: - -- To downgrade sharded clusters, see :ref:`2.6-downgrade-cluster`. - -- To downgrade replica sets, see :ref:`2.6-downgrade-replica-set`. - -- To downgrade a standalone MongoDB instance, see :ref:`2.6-downgrade-standalone`. - -.. _downgrade-user-auth-model: - -Downgrade 2.6 User Authorization Model --------------------------------------- - -If you have upgraded to the 2.6 user authorization -model, you **must first** downgrade the user authorization model to -2.4 **before** before downgrading MongoDB 2.6 to 2.4. - -Considerations -~~~~~~~~~~~~~~ - -- For a replica set, it is only necessary to run the downgrade process - on the :term:`primary` as the changes will automatically replicate to - the secondaries. - -- For sharded clusters, although the procedure lists the downgrade of - the cluster's authorization data first, you may downgrade the - authorization data of the cluster or shards first. - -- You *must* have the ``admin.system.backup_users`` and - ``admin.system.new_users`` collections created during the upgrade - process. - -- **Important**. The downgrade process returns the user data to its - state prior to upgrading to 2.6 authorization model. Any changes - made to the user/role data using the 2.6 users model will be lost. - -.. _downgrade-auth-model-prerequisite: - -Access Control Prerequisites -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To downgrade the authorization model, you must connect as a user with -the following :term:`privileges `: - -.. code-block:: none - - { resource: { db: "admin", collection: "system.new_users" }, actions: [ "find", "insert", "update" ] } - { resource: { db: "admin", collection: "system.backup_users" }, actions: [ "find" ] } - { resource: { db: "admin", collection: "system.users" }, actions: [ "find", "remove", "insert"] } - { resource: { db: "admin", collection: "system.version" }, actions: [ "find", "update" ] } - -If no user exists with the appropriate :term:`privileges `, -create an authorization model downgrade user: - -.. include:: /includes/steps/2.6-downgrade-authorization-prereq.rst - -Procedure -~~~~~~~~~ - -The following downgrade procedure requires ``.system.users`` -collections used in version 2.4. to be intact for non-``admin`` -databases. - -.. include:: /includes/steps/2.6-downgrade-authorization.rst - -For a sharded cluster, repeat the downgrade process by connecting to -the :term:`primary` replica set member for each shard. - -.. note:: - - The cluster's :binary:`~bin.mongos` instances will fail to detect the - authorization model downgrade until the user cache is refreshed. You - can run :dbcommand:`invalidateUserCache` on each :binary:`~bin.mongos` - instance to refresh immediately, or you can wait until the cache is - refreshed automatically at the end of the :parameter:`user cache - invalidation interval `. To run - :dbcommand:`invalidateUserCache`, you must have privilege with - :authaction:`invalidateUserCache` action, which is granted by - :authrole:`userAdminAnyDatabase` and :authrole:`hostManager` roles. - -Result -~~~~~~ - -The downgrade process returns the user data to its state prior to -upgrading to 2.6 authorization model. Any changes made to the -user/role data using the 2.6 users model will be lost. - -Downgrade Updated Indexes -------------------------- - -.. _downgrade-text-index: - -Text Index Version Check -~~~~~~~~~~~~~~~~~~~~~~~~ - -If you have *version 2* text indexes (i.e. the default version for text -indexes in MongoDB 2.6), drop the *version 2* text indexes before -downgrading MongoDB. After the downgrade, enable text search and -recreate the dropped text indexes. - -To determine the version of your ``text`` indexes, run -:method:`db.collection.getIndexes()` to view index specifications. For -text indexes, the method returns the version information in the field -``textIndexVersion``. For example, the following shows that the -``text`` index on the ``quotes`` collection is version 2. - -.. code-block:: javascript - :emphasize-lines: 15 - - { - "v" : 1, - "key" : { - "_fts" : "text", - "_ftsx" : 1 - }, - "name" : "quote_text_translation.quote_text", - "ns" : "test.quotes", - "weights" : { - "quote" : 1, - "translation.quote" : 1 - }, - "default_language" : "english", - "language_override" : "language", - "textIndexVersion" : 2 - } - -.. _downgrade-2dsphere-index: - -``2dsphere`` Index Version Check -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you have *version 2* ``2dsphere`` indexes (i.e. the default version -for ``2dsphere`` indexes in MongoDB 2.6), drop the *version 2* -``2dsphere`` indexes before downgrading MongoDB. After the downgrade, -recreate the ``2dsphere`` indexes. - -To determine the version of your ``2dsphere`` indexes, run -:method:`db.collection.getIndexes()` to view index specifications. For -``2dsphere`` indexes, the method returns the version information in the field -``2dsphereIndexVersion``. For example, the following shows that the -``2dsphere`` index on the ``locations`` collection is version 2. - -.. code-block:: javascript - :emphasize-lines: 9 - - { - "v" : 1, - "key" : { - "geo" : "2dsphere" - }, - "name" : "geo_2dsphere", - "ns" : "test.locations", - "sparse" : true, - "2dsphereIndexVersion" : 2 - } - -Downgrade MongoDB Processes ---------------------------- - -.. _2.6-downgrade-standalone: - -Downgrade 2.6 Standalone ``mongod`` Instance -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following steps outline the procedure to downgrade a standalone -:binary:`~bin.mongod` from version 2.6 to 2.4. - -#. Download binaries of the latest release in the 2.4 series from the - `MongoDB Download Page`_. See :doc:`/installation` for more - information. - -#. Shut down your :binary:`~bin.mongod` instance. Replace the existing - binary with the 2.4 :binary:`~bin.mongod` binary and restart - :binary:`~bin.mongod`. - -.. _`MongoDB Download Page`: http://www.mongodb.org/downloads - -.. _2.6-downgrade-replica-set: - -Downgrade a 2.6 Replica Set -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following steps outline a "rolling" downgrade process for the -replica set. The "rolling" downgrade process minimizes downtime by -downgrading the members individually while the other members are -available: - -.. include:: /includes/steps/2.6-downgrade-replica-set.rst - -Replica set failover is not instant but will render the set unavailable to -writes and interrupt reads until the failover process -completes. Typically this takes 10 seconds or more. You may wish to -plan the downgrade during a predetermined maintenance window. - -.. _2.6-downgrade-cluster: - -Downgrade a 2.6 Sharded Cluster -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Requirements -```````````` - -While the downgrade is in progress, you cannot make changes to the -collection meta-data. For example, during the downgrade, do -**not** do any of the following: - -- :method:`sh.enableSharding()` - -- :method:`sh.shardCollection()` - -- :method:`sh.addShard()` - -- :method:`db.createCollection()` - -- :method:`db.collection.drop()` - -- :method:`db.dropDatabase()` - -- any operation that creates a database - -- any other operation that modifies the cluster meta-data in any - way. See :doc:`/reference/sharding` for a complete list of - sharding commands. Note, however, that not all commands on the - :doc:`/reference/sharding` page modifies the cluster meta-data. - -Procedure -````````` - -The downgrade procedure for a sharded cluster reverses the order of -the upgrade procedure. - -#. Turn off the :ref:`balancer ` in the - sharded cluster, as described in - :ref:`sharding-balancing-disable-temporarily`. - -#. Downgrade each shard, one at a time. For each shard, - - a. Downgrade the :binary:`~bin.mongod` secondaries *before* downgrading - the primary. - - #. To downgrade the primary, run :dbcommand:`replSetStepDown` and - downgrade. - -#. Downgrade all 3 :binary:`~bin.mongod` config server instances, leaving - the *first* system in the :option:`mongos --configdb` argument to - downgrade *last*. - -#. Downgrade and restart each :binary:`~bin.mongos`, one at a time. The - downgrade process is a binary drop-in replacement. - -#. Turn on the balancer, as described in - :ref:`sharding-balancing-enable`. - - -.. ############### Downgrade Procedure ############### - -.. |action| replace:: Downgrade -.. |version-new| replace:: 2.4 -.. |version-stop| replace:: 2.6 - -.. include:: /includes/2.4-2.6-upgrade-downgrade-procedure.rst diff --git a/source/release-notes/2.6-upgrade-authorization.txt b/source/release-notes/2.6-upgrade-authorization.txt deleted file mode 100644 index 2aa3b0ee7a9..00000000000 --- a/source/release-notes/2.6-upgrade-authorization.txt +++ /dev/null @@ -1,90 +0,0 @@ -.. _2.6-upgrade-authorization-model: - -============================================= -Upgrade User Authorization Data to 2.6 Format -============================================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -MongoDB 2.6 includes significant changes to the authorization model, -which requires changes to the way that MongoDB stores users' -credentials. As a result, in addition to upgrading MongoDB processes, -if your deployment uses authentication and authorization, after -upgrading all MongoDB process to 2.6 you **must** also upgrade the -authorization model. - -Considerations -~~~~~~~~~~~~~~ - -Complete all other Upgrade Requirements -``````````````````````````````````````` - -.. include:: /includes/important-upgrade-auth-model-prerequisites.rst - -Timing -`````` - -.. include:: /includes/fact-auth-upgrade-recommendation.rst - -If you decide to upgrade the user authorization -model immediately instead of waiting the recommended "burn in" -period, then for sharded clusters, you must wait at least 10 seconds -after upgrading the sharded clusters to run the authorization -upgrade script. - -Replica Sets -```````````` - -For a replica set, it is only necessary to run the upgrade process on -the :term:`primary` as the changes will automatically replicate to -the secondaries. - -Sharded Clusters -```````````````` - -For a sharded cluster, connect to a :binary:`~bin.mongos` and run the -upgrade procedure to upgrade the cluster's authorization data. By -default, the procedure will upgrade the authorization data of the -shards as well. - -To override this behavior, run the upgrade command with the -additional parameter ``upgradeShards: false``. If you choose to -override, you must run the upgrade procedure on the :binary:`~bin.mongos` -first, and then run the procedure on the :term:`primary` members of -each shard. - -For a sharded cluster, do **not** run the upgrade process directly -against the :ref:`config servers -`. Instead, perform the upgrade -process using one :binary:`~bin.mongos` instance to interact with the -config database. - -Requirements -~~~~~~~~~~~~ - -To upgrade the authorization model, you must have a user in the -``admin`` database with the role :authrole:`userAdminAnyDatabase`. - -Procedure -~~~~~~~~~ - -.. include:: /includes/steps/2.6-upgrade-authorization.rst - -Result -~~~~~~ - -All users in a 2.6 system are stored in the :data:`admin.system.users` -collection. To manipulate these users, use the :doc:`user management -methods `. - -The upgrade procedure copies the version 2.4 ``admin.system.users`` -collection to ``admin.system.backup_users``. - -The upgrade procedure leaves the version 2.4 -``.system.users`` collection(s) intact. diff --git a/source/release-notes/2.6-upgrade.txt b/source/release-notes/2.6-upgrade.txt deleted file mode 100644 index 416b1e60b7d..00000000000 --- a/source/release-notes/2.6-upgrade.txt +++ /dev/null @@ -1,270 +0,0 @@ -====================== -Upgrade MongoDB to 2.6 -====================== - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: singlecol - -In the general case, the upgrade from MongoDB 2.4 to 2.6 is a -binary-compatible "drop-in" upgrade: shut down the :binary:`~bin.mongod` -instances and replace them with :binary:`~bin.mongod` instances running -2.6. **However**, before you attempt any upgrade, familiarize yourself -with the content of this document, particularly the -:ref:`2.6-upgrade-considerations`, the procedure for :ref:`upgrading -sharded clusters <2.6-upgrade-cluster>`, and the considerations for -:ref:`reverting to 2.4 after running 2.6 -<2.6-downgrade-considerations>`. - -.. _2.6-upgrade-considerations: - -Upgrade Recommendations and Checklists --------------------------------------- - -When upgrading, consider the following: - -Upgrade Requirements -~~~~~~~~~~~~~~~~~~~~ - -To upgrade an existing MongoDB deployment to 2.6, you must be running -2.4. If you're running a version of MongoDB before 2.4, you *must* -upgrade to 2.4 before upgrading to 2.6. See -:doc:`/release-notes/2.4-upgrade` for the procedure to upgrade from -2.2 to 2.4. - -If you use |mms-home| Backup, ensure that you're running *at least* version -``v20131216.1`` of the Backup agent before upgrading. Version ``1.4.0`` of -the backup agent followed ``v20131216.1`` - -.. include:: /includes/replacement-mms.rst - -Preparedness -~~~~~~~~~~~~ - -Before upgrading MongoDB always test your application in a staging -environment before deploying the upgrade to your production -environment. - -To begin the upgrade procedure, connect a 2.6 ``mongo`` shell to -your MongoDB 2.4 :binary:`~bin.mongos` or :binary:`~bin.mongod` and run the -:v2.6:`db.upgradeCheckAllDBs() -` to check your data set for -compatibility. This is a preliminary automated check. Assess and -resolve all issues identified by :v2.6:`db.upgradeCheckAllDBs() -`. - -Some changes in MongoDB 2.6 require manual checks and -intervention. See :doc:`/release-notes/2.6-compatibility` for an -explanation of these changes. Resolve all incompatibilities in your -deployment before continuing. - -For a deployment that uses authentication and authorization, be sure -you have at least one user in the ``admin`` database with the role -:authrole:`userAdminAnyDatabase` **before** upgrading the MongoDB -binaries. For deployments currently using -authentication and authorization, see the :ref:`consideration for -deployments that use authentication and authorization -<2.6-upgrade-auth-prereq>`. - -.. _2.6-upgrade-auth-prereq: - -Authentication -~~~~~~~~~~~~~~ - -MongoDB 2.6 includes significant changes to the authorization model, -which requires changes to the way that MongoDB stores users' -credentials. As a result, in addition to upgrading MongoDB processes, -if your deployment uses authentication and authorization, after -upgrading all MongoDB process to 2.6 you **must** also upgrade the -authorization model. - -**Before** beginning the upgrade process for a deployment that uses -authentication and authorization: - -- Ensure that at least one user exists in the ``admin`` database with - the role :authrole:`userAdminAnyDatabase`. - -- If your application performs CRUD operations on the - ``system.users`` collection or uses a - ``db.addUser()``\ -like method, then you **must** - upgrade those drivers (i.e. client libraries) **before** - :binary:`~bin.mongod` or :binary:`~bin.mongos` instances. - -- You must fully complete the upgrade procedure for *all* MongoDB - processes before upgrading the authorization model. - -After you begin to upgrade a MongoDB deployment that uses -authentication to 2.6, you *cannot* modify existing user data until -you complete the :doc:`authorization user schema upgrade -`. - -See :ref:`2.6-upgrade-authorization-model` for a complete discussion -of the upgrade procedure for the authorization model including -additional requirements and procedures. - -Downgrade Limitations -~~~~~~~~~~~~~~~~~~~~~ - -Once upgraded to MongoDB 2.6, you **cannot** downgrade to **any** version -earlier than MongoDB 2.4. If you created ``text`` or ``2dsphere`` -indexes while running 2.6, you can only downgrade to MongoDB 2.4.10 or -later. - -Package Upgrades -~~~~~~~~~~~~~~~~ - -If you installed MongoDB from the MongoDB ``apt`` or ``yum`` repositories, -upgrade to 2.6 using the package manager. - -For Debian, Ubuntu, and related operating systems, type these commands: - -.. code-block:: javascript - - sudo apt-get update - sudo apt-get install mongodb-org - -For Red Hat Enterprise, CentOS, Fedora, or Amazon Linux: - -.. code-block:: javascript - - sudo yum install mongodb-org - -If you did not install the ``mongodb-org`` package, and installed a subset -of MongoDB components replace ``mongodb-org`` in the commands above with -the appropriate package names. - -See installation instructions for :ref:`Ubuntu -`, :ref:`RHEL -`, :ref:`Debian -` for a list of the available packages and -complete MongoDB installation instructions. - - -Upgrade MongoDB Processes -------------------------- - -.. _2.6-upgrade-standalone: - -Upgrade Standalone ``mongod`` Instance to MongoDB 2.6 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following steps outline the procedure to upgrade a standalone -:binary:`~bin.mongod` from version 2.4 to 2.6. To upgrade from version -2.2 to 2.6, :doc:`upgrade to version 2.4 -` *first*, and then follow the procedure to -upgrade from 2.4 to 2.6. - -#. Download binaries of the latest release in the 2.6 series from the - `MongoDB Download Page`_. See :doc:`/installation` for more - information. - -#. Shut down your :binary:`~bin.mongod` instance. Replace the existing - binary with the 2.6 :binary:`~bin.mongod` binary and restart :binary:`~bin.mongod`. - -.. _`MongoDB Download Page`: http://www.mongodb.org/downloads - -.. _2.6-upgrade-replica-set: - -Upgrade a Replica Set to 2.6 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following steps outline the procedure to upgrade a replica set from -MongoDB 2.4 to MongoDB 2.6. To upgrade from MongoDB 2.2 to 2.6, -:doc:`upgrade all members of the replica set to version 2.4 -` *first*, and then follow the procedure to -upgrade from MongoDB 2.4 to 2.6. - -You can upgrade from MongoDB 2.4 to 2.6 using a "rolling" upgrade to -minimize downtime by upgrading the members individually while the other -members are available: - -.. include:: /includes/steps/2.6-upgrade-replica-set.rst - -Replica set failover is not instant but will render the set -unavailable accept writes until the failover process -completes. Typically this takes 30 seconds or more: schedule the -upgrade procedure during a scheduled maintenance window. - -.. _2.6-upgrade-cluster: - -Upgrade a Sharded Cluster to 2.6 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Only upgrade sharded clusters to 2.6 if **all** members of the -cluster are currently running instances of 2.4. The only supported -upgrade path for sharded clusters running 2.2 is via 2.4. The upgrade -process checks all components of the cluster and will produce warnings -if any component is running version 2.2. - -Considerations -`````````````` - -The upgrade process does not require any downtime. However, while you -upgrade the sharded cluster, ensure that clients do not make changes -to the collection meta-data. For example, during the upgrade, do **not** -do any of the following: - -- :method:`sh.enableSharding()` - -- :method:`sh.shardCollection()` - -- :method:`sh.addShard()` - -- :method:`db.createCollection()` - -- :method:`db.collection.drop()` - -- :method:`db.dropDatabase()` - -- any operation that creates a database - -- any other operation that modifies the cluster metadata in any - way. See :doc:`/reference/sharding` for a complete list - of sharding commands. Note, however, that not all commands on - the :doc:`/reference/sharding` page modifies the - cluster meta-data. - -Upgrade Sharded Clusters -```````````````````````` - -*Optional but Recommended.* As a precaution, take a backup of the -``config`` database *before* upgrading the sharded cluster. - -.. include:: /includes/steps/2.6-upgrade-sharded-cluster.rst - -.. _2.6-finalize-shard-cluster-upgrade: - -Complete Sharded Cluster Upgrade -```````````````````````````````` - -After you have successfully upgraded *all* :binary:`~bin.mongos` instances, -you can upgrade the other instances in your MongoDB deployment. - -.. warning:: - - Do not upgrade :binary:`~bin.mongod` instances until after you have - upgraded *all* :binary:`~bin.mongos` instances. - -While the balancer is still disabled, upgrade the components of your -sharded cluster in the following order: - -- Upgrade all 3 :binary:`~bin.mongod` config server instances, leaving - the *first* system in the :option:`mongos --configdb` argument to upgrade - *last*. - -- Upgrade each shard, one at a time, upgrading the :binary:`~bin.mongod` - secondaries before running :dbcommand:`replSetStepDown` and - upgrading the primary of each shard. - -When this process is complete, :ref:`re-enable the -balancer `. - -.. |action| replace:: Upgrade -.. |version-new| replace:: 2.6 -.. |version-stop| replace:: 2.4 - -.. include:: /includes/2.4-2.6-upgrade-downgrade-procedure.rst diff --git a/source/release-notes/2.6.txt b/source/release-notes/2.6.txt deleted file mode 100644 index f64d10265c1..00000000000 --- a/source/release-notes/2.6.txt +++ /dev/null @@ -1,695 +0,0 @@ -.. _release-notes-2.6: - -============================= -Release Notes for MongoDB 2.6 -============================= - -.. default-domain:: mongodb - -.. contents:: On this page - :local: - :backlinks: none - :depth: 1 - :class: twocols - -*April 8, 2014* - -MongoDB 2.6 is now available. Key features include aggregation -enhancements, text-search integration, query-engine improvements, a new -write-operation protocol, and security enhancements. - -Patch Releases --------------- - -.. toctree:: - - /release-notes/2.6-changelog - -2.6.12 -- Mar 24, 2016 -~~~~~~~~~~~~~~~~~~~~~~ - -- Fixed issue with MMAPv1 journaling where the "last sequence number" - file (``lsn`` file) may be ahead of what is synced to the data files: - :issue:`SERVER-22261`. - -- Fixed issue that permitted the creation of new role with the same - name as a :doc:`built-in role `: - :issue:`SERVER-19284`. - -- Fixed issue where some index operations running during an active migration - may cause the migration operation to skip some documents: - :issue:`SERVER-22535`. - -- `All issues closed in 2.6.12 - `_ - -2.6.11 -- Aug 12, 2015 -~~~~~~~~~~~~~~~~~~~~~~ - -- Improvements to query plan ranking :issue:`SERVER-17815` - -- Improved ability for :binary:`~bin.mongos` to detect replica set - failover and correctly route read operations to the new - primary :issue:`SERVER-18280` - -- Improved reporting of queries in ``getMore`` operation in - :method:`db.currentOp()` and the database - profiler :issue:`SERVER-16265` - -- `All issues closed in 2.6.11 - `_ - -2.6.10 -- May 19, 2015 -~~~~~~~~~~~~~~~~~~~~~~ - -- Improve user cache invalidation enforcement on :binary:`~bin.mongos` - :issue:`SERVER-11980` - -- Provide correct rollbacks for collection creation - :issue:`SERVER-18211` - -- Allow user inserts into the ``system.profile`` collection - :issue:`SERVER-18211` - -- Fix to query system to ensure non-negation predicates get chosen - over negation predicates for multikey index bounds construction - :issue:`SERVER-18364` - -- `All issues closed in 2.6.10 - `_ - -2.6.9 -- March 24, 2015 -~~~~~~~~~~~~~~~~~~~~~~~ - -- Resolve connection handling related crash with :binary:`~bin.mongos` - instances :issue:`SERVER-17441` - -- Add server parameter to configure idle cursor timeout - :issue:`SERVER-8188` - -- Remove duplicated (orphan) documents from aggregation pipelines with - ``_id`` queries in sharded clusters :issue:`SERVER-17426` - -- Fixed crash in ``geoNear`` command queries with multiple - ``2dsphere`` indexes :issue:`SERVER-14723` - -- `All issues closed in 2.6.9 - `_ - -2.6.8 -- February 25, 2015 -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Add :dbcommand:`listCollections` command functionality to 2.6 shell - and client :issue:`SERVER-17087` - -- ``copydb``/``clone`` commands can crash the - server if a primary steps down :issue:`SERVER-16599` - -- Secondary fasserts trying to replicate an index - :issue:`SERVER-16274` - -- Query optimizer should always use equality predicate over unique - index when possible :issue:`SERVER-15802` - -- `All issues closed in 2.6.8 - `_ - -2.6.7 -- January 13, 2015 -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Decreased :binary:`~bin.mongos` memory footprint when shards have several - tags :issue:`SERVER-16683` - -- Removed check for shard version if the primary server is down - :issue:`SERVER-16237` - -- Fixed: ``/etc/init.d/mongod`` startup script failure with dirname message - :issue:`SERVER-16081` - -- Fixed: :binary:`~bin.mongos` can cause shards to hit the in-memory sort limit - by requesting more results than needed :issue:`SERVER-14306` - -- `All issues closed in 2.6.7 - `_ - -2.6.6 -- December 09, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fixed: Evaluating candidate query plans with concurrent writes on same - collection may crash :binary:`~bin.mongod` :issue:`SERVER-15580` - -- Fixed: 2.6 :binary:`~bin.mongod` crashes with segfault when added to a 2.8 replica set - with 12 or more members :issue:`SERVER-16107` - -- Fixed: :query:`$regex`, :query:`$in` and :update:`$sort` with index - returns too many results :issue:`SERVER-15696` - -- Change: :dbcommand:`moveChunk` will fail if there is data on the target - shard and a required index does not exist. - :issue:`SERVER-12472` - -- Primary should abort if encountered problems writing to the oplog - :issue:`SERVER-12058` - -- `All issues closed in 2.6.6 `_ - - -2.6.5 -- October 07, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~~ - -- :update:`$rename` now uses correct dotted source paths - :issue:`SERVER-15029` - -- Partially written journal last section does not affect recovery - :issue:`SERVER-15111` - -- Explicitly zero ``.ns`` files on creation :issue:`SERVER-15369` - -- Plan ranker will no longer favor intersection plans if predicate generates empty range - index scan :issue:`SERVER-14961` - -- Generate Community and Enterprise packages for SUSE 11 - :issue:`SERVER-10642` - -- `All issues closed in 2.6.5 `_ - -2.6.4 -- August 11, 2014 -~~~~~~~~~~~~~~~~~~~~~~~~ - -- Fix for ``text`` index where under specific circumstances, in-place - updates to a ``text``-indexed field may result in - incorrect/incomplete results :issue:`SERVER-14738` - -- Check the size of the split point before performing a manual split - chunk operation :issue:`SERVER-14431` - -- Ensure read preferences are re-evaluated by drawing secondary - connections from a global pool and releasing back to the pool at the - end of a query/command :issue:`SERVER-9788` - -- Allow read from secondaries when both audit and authorization are - enabled in a sharded cluster :issue:`SERVER-14170` - -- `All issues closed in 2.6.4 `_ - -2.6.3 -- June 19, 2014 -~~~~~~~~~~~~~~~~~~~~~~ - -- Equality queries on ``_id`` with projection may return no results - on sharded collections :issue:`SERVER-14302`. - -- Equality queries on ``_id`` with projection on ``_id`` may return - orphan documents on sharded collections :issue:`SERVER-14304`. - -- `All issues closed in 2.6.3 `_. - - -2.6.2 -- June 16, 2014 -~~~~~~~~~~~~~~~~~~~~~~ - -- Query plans with differing performance can tie during plan ranking - :issue:`SERVER-13675`. - -- :binary:`~bin.mongod` may terminate if x.509 authentication certificate is invalid - :issue:`SERVER-13753`. - -- Temporary map/reduce collections are incorrectly replicated to secondaries - :issue:`SERVER-13981`. - -- :binary:`~bin.mongos` incorrectly targets multiple shards for nested - field shard key predicates :issue:`SERVER-14138`. - -- :method:`rs.stepDown()` during mapReduce causes ``fassert`` when - writing to op log :issue:`SERVER-14186`. - -.. - - :ref:`2.6.2 Changelog <2.6.2-changelog>`. - -- `All issues closed in 2.6.2 `_. - -2.6.1 -- May 5, 2014 -~~~~~~~~~~~~~~~~~~~~ - -- Fix to install MongoDB service on Windows with the ``--install`` - option :issue:`SERVER-13515`. - -- Allow direct upgrade from 2.4.x to 2.6.0 via ``yum`` - :issue:`SERVER-13563`. - -- Fix issues with background index builds on secondaries: - :issue:`SERVER-13589` and :issue:`SERVER-13620`. - -- Redact credential information passed as startup options - :issue:`SERVER-13644`. - -- :ref:`2.6.1 Changelog <2.6.1-changelog>`. - -- `All issues closed in 2.6.1 `_. - -Major Changes -------------- - -The following changes in MongoDB affect both the standard and Enterprise -editions: - -.. _rn-2.6-aggregation-cursor: - -Aggregation Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~ - -The aggregation pipeline adds the ability to return result sets of any -size, either by returning a cursor or writing the output to -a collection. Additionally, the aggregation pipeline supports -variables and adds new operations to handle sets and redact data. - -- The :method:`db.collection.aggregate()` now returns a cursor, which - enables the aggregation pipeline to return result sets of any size. - -- Aggregation pipelines now support an ``explain`` operation to aid - analysis of aggregation operations. - -- Aggregation can now use a more efficient external-disk-based sorting - process. - -- New pipeline stages: - - - :pipeline:`$out` stage to output to a collection. - - - :pipeline:`$redact` stage to allow additional control to accessing - the data. - -- New or modified operators: - - - :ref:`set expression operators - `. - - - :expression:`$let` and :expression:`$map` operators to allow for - the use of variables. - - - :expression:`$literal` operator and :expression:`$size` operator. - - - :expression:`$cond` expression now accepts either an object or - an array. - -.. _rel-notes-text-query-operator: - -Text Search Integration -~~~~~~~~~~~~~~~~~~~~~~~ - -Text search is now enabled by default, and the query system, including -the aggregation pipeline :pipeline:`$match` stage, includes the -:query:`$text` operator, which resolves text-search queries. - -MongoDB 2.6 includes an updated :ref:`text index -` format and deprecates the ``text`` -command. - -.. _rel-notes-data-modification: - -Insert and Update Improvements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Improvements to the update and insert systems include additional -operations and improvements that increase consistency of modified -data. - -- .. include:: /includes/fact-update-field-order.rst - :start-after: order-of-document-fields - -- New or enhanced update operators: - - - :update:`$bit` operator supports bitwise ``xor`` operation. - - - :update:`$min` and :update:`$max` operators that perform - conditional update depending on the relative size of the specified - value and the current value of a field. - - - :update:`$push` operator has enhanced support for the - :update:`$sort`, :update:`$slice`, and :update:`$each` modifiers - and supports a new :update:`$position` modifier. - - - :update:`$currentDate` operator to set the value of a field to the - current date. - -- The :update:`$mul` operator for multiplicative increments for insert - and update operations. - -.. seealso:: - - :ref:`update-operations-incompatibility` - -.. _rel-notes-write-operations: - -New Write Operation Protocol -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A new write protocol integrates write operations with -write concerns. The protocol also provides improved -support for bulk operations. - -MongoDB 2.6 adds the write commands :dbcommand:`insert`, -:dbcommand:`update`, and :dbcommand:`delete`, which provide the basis -for the improved bulk insert. All officially supported MongoDB drivers -support the new write commands. - -The ``mongo`` shell now includes -methods to perform bulk-write operations. See :method:`Bulk()` for -more information. - -.. seealso:: - - :ref:`write-methods-incompatibility` - -MSI Package for MongoDB Available for Windows -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -MongoDB now distributes MSI packages for Microsoft Windows. This is the -recommended method for MongoDB installation under Windows. - -.. _2.6-relnotes-security: - -Security Improvements ---------------------- - -MongoDB 2.6 enhances support for secure deployments through improved SSL -support, x.509-based authentication, an improved authorization system -with more granular controls, as well as centralized credential storage, and -improved user management tools. - -Specifically these changes include: - -- A new :ref:`authorization model ` that provides the - ability to create custom :ref:`user-defined-roles` and the ability to - specify user privileges at a collection-level granularity. - -- Global user management, which stores all user and - user-defined role data in the ``admin`` database and provides a new - set of commands for managing users and roles. - -- x.509 certificate authentication for :doc:`client authentication - ` as well as for - :doc:`internal authentication - ` of sharded cluster and/or - replica set members. x.509 authentication is only available - for deployments using SSL. - -- Enhanced SSL Support: - - - :doc:`Rolling upgrades of clusters - ` to use SSL. - - - :ref:`mongodb-tools-support-ssl` support connections to - :binary:`~bin.mongod` and :binary:`~bin.mongos` instances using SSL - connections. - - - :ref:`Prompt for passphrase ` - by :binary:`~bin.mongod` or :binary:`~bin.mongos` at startup. - - - Require the use of strong SSL ciphers, with a minimum 128-bit key - length for all connections. The strong-cipher requirement prevents - an old or malicious client from forcing use of a weak cipher. - -- MongoDB disables the http interface by default, limiting - :doc:`network exposure `. - -.. seealso:: - - - :ref:`authentication-incompatibility` - - :ref:`ssl-hostname-validation` - - :doc:`/administration/security-checklist` - -Query Engine Improvements -------------------------- - -- MongoDB can now use index intersection to - fulfill queries supported by more than one index. - -- :ref:`index-filters` to limit which indexes can become the winning - plan for a query. - -- :doc:`/reference/method/js-plan-cache` methods to view and clear the - :doc:`query plans ` cached by the query optimizer. - -- MongoDB can now use :method:`~cursor.count()` with - :method:`~cursor.hint()`. See :method:`~cursor.count()` for details. - -Improvements ------------- - -Geospatial Enhancements -~~~~~~~~~~~~~~~~~~~~~~~ - -- :ref:`2dsphere indexes version 2 - <2dsphere-v2>`. - -- Support for :ref:`geojson-multipoint`, - :ref:`geojson-multilinestring`, :ref:`geojson-multipolygon`, and - :ref:`geojson-geometrycollection`. - -- Support for geospatial query clauses in :query:`$or` expressions. - -.. seealso:: - - - :ref:`2.6-2dsphere-version-incompatibility`, - - :ref:`2.6-geo-maxDistance-incompatibility`, - - :ref:`2.6-uniqueDocs-incompatibility`, - - :ref:`2.6-geospatial-validation-incompatibility` - -Index Build Enhancements -~~~~~~~~~~~~~~~~~~~~~~~~ - -- :ref:`Background index build - ` allowed on - secondaries. If you initiate a background index build on a - :term:`primary`, the secondaries will replicate the index build in - the background. - -- Automatic rebuild of interrupted index builds after a restart. - - - If a standalone or a primary instance terminates during an index - build *without a clean shutdown*, :binary:`~bin.mongod` now restarts - the index build when the instance restarts. If the instance shuts - down cleanly or if a user kills the index build, the interrupted - index builds do not automatically restart upon the restart of the - server. - - - If a secondary instance terminates during an index build, the - :binary:`~bin.mongod` instance will now restart the interrupted index - build when the instance restarts. - - To disable this behavior, use the ``--noIndexBuildRetry`` - command-line option. - -- :method:`~db.collection.ensureIndex()` now wraps a new - ``createIndex`` command. - -- The ``dropDups`` option to :method:`~db.collection.ensureIndex()` - and ``createIndex`` is deprecated. - -.. seealso:: - - :ref:`2.6-index-key-length-incompatibility` - - -Enhanced Sharding and Replication Administration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- New :dbcommand:`cleanupOrphaned` command to remove :term:`orphaned - documents ` from a shard. - -- New :dbcommand:`mergeChunks` command to combine contiguous chunks - located on a single shard. See :dbcommand:`mergeChunks` and - :doc:`/tutorial/merge-chunks-in-sharded-cluster`. - -- New :method:`rs.printReplicationInfo()` and - :method:`rs.printSlaveReplicationInfo()` methods to provide a - formatted report of the status of a replica set from the perspective - of the primary and the secondary, respectively. - -Configuration Options YAML File Format -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -MongoDB 2.6 supports a YAML-based configuration file format in addition -to the previous configuration file format. See the documentation of -the :ref:`Configuration File ` for -more information. - -Operational Changes -------------------- - -Storage -~~~~~~~ - -``usePowerOf2Sizes`` is now the default allocation strategy for -all new collections. The new allocation strategy uses more storage -relative to total document size but results in lower levels of -storage fragmentation and more predictable storage capacity planning -over time. - -To use the previous *exact-fit allocation strategy*: - -- For a specific collection, use :dbcommand:`collMod` with - ``usePowerOf2Sizes`` set to ``false``. - -- For all new collections on an entire :binary:`~bin.mongod` instance, - set ``newCollectionsUsePowerOf2Sizes`` to ``false``. - - New collections include those: created during - :ref:`initial sync `, as well as those - created by the :binary:`~bin.mongorestore` and :binary:`~bin.mongoimport` - tools, by running :binary:`~bin.mongod` with the :option:`--repair - ` option, as well as the - deprecated ``restoreDatabase`` command. - -See :v2.6:`/core/storage` for more information about MongoDB's storage system. - -Networking -~~~~~~~~~~ - -- Removed upward limit for the :setting:`~net.maxIncomingConnections` for :binary:`~bin.mongod` - and :binary:`~bin.mongos`. Previous versions capped the maximum possible - :setting:`~net.maxIncomingConnections` setting at ``20,000`` connections. - -- Connection pools for a :binary:`~bin.mongos` instance may be used by multiple - MongoDB servers. This can reduce the number of connections needed - for high-volume workloads and reduce resource consumption in - sharded clusters. - -- The C++ driver now monitors :term:`replica set` health with the - ``isMaster`` command instead of - :dbcommand:`replSetGetStatus`. This allows the C++ driver to support - systems that require authentication. - -- New :method:`cursor.maxTimeMS()` and corresponding ``maxTimeMS`` - option for commands to specify a time limit. - -Tool Improvements -~~~~~~~~~~~~~~~~~ - -- ``mongo`` shell supports a global ``/etc/mongorc.js`` file. - -- All MongoDB :doc:`executable files ` now support - the ``--quiet`` option to suppress all logging output except for - error messages. - -- :binary:`~bin.mongoimport` uses the input filename, without the file - extension if any, as the collection name if run without the ``-c`` or - ``--collection`` specification. - -- :binary:`~bin.mongoexport` can now constrain export data using - ``--skip`` and ``--limit``, as well as order the documents - in an export using the ``--sort ` is now available. It -includes support for Kerberos, SSL, and SNMP. - -MongoDB Enterprise for Windows does **not** include LDAP support for -authentication. However, MongoDB Enterprise for Linux supports using -LDAP authentication with an ActiveDirectory server. - -MongoDB Enterprise for Windows includes OpenSSL version 1.0.1g. - -Auditing -~~~~~~~~ - -MongoDB Enterprise adds :ref:`auditing ` capability for -:binary:`~bin.mongod` and :binary:`~bin.mongos` instances. See :ref:`auditing` -for details. - -.. _relnotes-ldap-authentication: - -LDAP Support for Authentication -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -MongoDB Enterprise provides support for proxy authentication of users. -This allows administrators to configure a MongoDB cluster to -authenticate users by proxying authentication requests to a specified -Lightweight Directory Access Protocol (LDAP) service. See -:doc:`/tutorial/configure-ldap-sasl-openldap` and -:doc:`/tutorial/configure-ldap-sasl-activedirectory` for details. - -MongoDB Enterprise for Windows does **not** include LDAP support for -authentication. However, MongoDB Enterprise for Linux supports using -LDAP authentication with an ActiveDirectory server. - -MongoDB does **not** support LDAP authentication in mixed sharded -cluster deployments that contain both version 2.4 and version 2.6 -shards. See :doc:`/release-notes/2.6-upgrade` for upgrade instructions. - -Expanded SNMP Support -~~~~~~~~~~~~~~~~~~~~~ - -MongoDB Enterprise has greatly expanded its SNMP support to provide -SNMP access to nearly the full range of metrics provided by -:method:`db.serverStatus()`. - -.. seealso:: - - :ref:`2.6-snmp-iana-mib-incompatibility` - - -Additional Information ----------------------- - -Changes Affecting Compatibility -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. toctree:: - - /release-notes/2.6-compatibility - -Some changes in 2.6 can affect :doc:`compatibility -` and may require user actions. The -2.6 ``mongo`` shell provides a -:v2.6:`db.upgradeCheckAllDBs() ` method to perform a check for upgrade -preparedness for some of these changes. - -See :doc:`/release-notes/2.6-compatibility` for a detailed list of -compatibility changes. - -.. seealso:: - - `All Backwards incompatible changes (JIRA) `_. - -Upgrade Process -~~~~~~~~~~~~~~~ - -.. toctree:: - - /release-notes/2.6-upgrade - /release-notes/2.6-upgrade-authorization - /release-notes/2.6-downgrade - -See :doc:`/release-notes/2.6-upgrade` for full upgrade instructions. - -Download -~~~~~~~~ - -To download MongoDB 2.6, go to the `downloads page`_. - -.. TODO Should we add link to the installation guides? - -.. _`downloads page`: http://www.mongodb.org/downloads - -Other Resources -~~~~~~~~~~~~~~~ - -- `All JIRA issues resolved in 2.6 `_. - -- `All Third Party License Notices `_. diff --git a/source/release-notes/3.0-changelog.txt b/source/release-notes/3.0-changelog.txt index 2d475e72f0e..dc1b39f27c6 100644 --- a/source/release-notes/3.0-changelog.txt +++ b/source/release-notes/3.0-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 3.0 Changelog ============= diff --git a/source/release-notes/3.0-compatibility.txt b/source/release-notes/3.0-compatibility.txt index 6e8737301dc..3cf2c4ecdca 100644 --- a/source/release-notes/3.0-compatibility.txt +++ b/source/release-notes/3.0-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 3.0 ==================================== @@ -320,7 +327,7 @@ If you do not currently have any users *or* you are using ``authSchema`` version 1, the query will not return any result. If your ``authSchema`` version is less -than ``3`` or the query does not return any results, see :doc:`/release-notes/2.6-upgrade-authorization` to +than ``3`` or the query does not return any results, see the 2.6 Upgrade Authorization to upgrade the ``authSchema`` version before upgrading to MongoDB 3.0. After upgrading MongoDB to 3.0 from 2.6, to use the new ``SCRAM-SHA-1`` diff --git a/source/release-notes/3.0-downgrade.txt b/source/release-notes/3.0-downgrade.txt index 7022381b20c..184923f964e 100644 --- a/source/release-notes/3.0-downgrade.txt +++ b/source/release-notes/3.0-downgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ========================== Downgrade MongoDB from 3.0 ========================== diff --git a/source/release-notes/3.0-scram.txt b/source/release-notes/3.0-scram.txt index 673ca7528ca..bbfd930d0b6 100644 --- a/source/release-notes/3.0-scram.txt +++ b/source/release-notes/3.0-scram.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _3.0-scram: ================ diff --git a/source/release-notes/3.0-upgrade.txt b/source/release-notes/3.0-upgrade.txt index e293dc78993..eaed9729efc 100644 --- a/source/release-notes/3.0-upgrade.txt +++ b/source/release-notes/3.0-upgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ====================== Upgrade MongoDB to 3.0 ====================== @@ -42,9 +49,7 @@ version earlier than MongoDB 2.4. If your existing MongoDB deployment is already running with authentication and authorization, your user data model ``authSchema`` must be at least version 3. To verify the version of your existing -``authSchema``, see :ref:`legacy-auth-model-removed`. To upgrade your -``authSchema`` version, see -:ref:`Upgrade Authorization Data <2.6-upgrade-authorization-model>` for details. +``authSchema``, see :ref:`legacy-auth-model-removed`. Preparedness ~~~~~~~~~~~~ diff --git a/source/release-notes/3.0.txt b/source/release-notes/3.0.txt index 81a0a8aafd7..4c83228ad16 100644 --- a/source/release-notes/3.0.txt +++ b/source/release-notes/3.0.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-3.0: ============================= diff --git a/source/release-notes/3.2-changelog.txt b/source/release-notes/3.2-changelog.txt index 7370957eec3..bbf4889c969 100644 --- a/source/release-notes/3.2-changelog.txt +++ b/source/release-notes/3.2-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 3.2 Changelog ============= diff --git a/source/release-notes/3.2-compatibility.txt b/source/release-notes/3.2-compatibility.txt index 5a3c7ab18ce..42e53354002 100644 --- a/source/release-notes/3.2-compatibility.txt +++ b/source/release-notes/3.2-compatibility.txt @@ -1,5 +1,10 @@ -:orphan: - +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 3.2 ==================================== diff --git a/source/release-notes/3.2-downgrade.txt b/source/release-notes/3.2-downgrade.txt index 3f88e28fc04..9ba2188cd3a 100644 --- a/source/release-notes/3.2-downgrade.txt +++ b/source/release-notes/3.2-downgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ========================== Downgrade MongoDB from 3.2 ========================== diff --git a/source/release-notes/3.2-javascript.txt b/source/release-notes/3.2-javascript.txt index 450a493d1bf..fd601e10d5c 100644 --- a/source/release-notes/3.2-javascript.txt +++ b/source/release-notes/3.2-javascript.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================= JavaScript Changes in MongoDB 3.2 ================================= @@ -12,7 +19,7 @@ JavaScript Changes in MongoDB 3.2 In MongoDB 3.2, the javascript engine used for both the ``mongo`` shell and for server-side javascript in :binary:`~bin.mongod` changed from V8 to -`SpiderMonkey `_. +`SpiderMonkey `_. To confirm which JavaScript engine you are using, you can use either ``interpreterVersion()`` method in the ``mongo`` shell and the diff --git a/source/release-notes/3.2-upgrade.txt b/source/release-notes/3.2-upgrade.txt index 1c575e4ff89..58d262799ab 100644 --- a/source/release-notes/3.2-upgrade.txt +++ b/source/release-notes/3.2-upgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _upgrade-to-3.2: ====================== diff --git a/source/release-notes/3.2.txt b/source/release-notes/3.2.txt index 2a95f83e247..4976d19d035 100644 --- a/source/release-notes/3.2.txt +++ b/source/release-notes/3.2.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-3.2: ============================= diff --git a/source/release-notes/3.4-changelog.txt b/source/release-notes/3.4-changelog.txt index f13db08f423..e977a344ee8 100644 --- a/source/release-notes/3.4-changelog.txt +++ b/source/release-notes/3.4-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 3.4 Changelog ============= diff --git a/source/release-notes/3.4-compatibility.txt b/source/release-notes/3.4-compatibility.txt index 6164dca7640..d2d6ac04d7c 100644 --- a/source/release-notes/3.4-compatibility.txt +++ b/source/release-notes/3.4-compatibility.txt @@ -1,4 +1,9 @@ -:orphan: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet ==================================== Compatibility Changes in MongoDB 3.4 diff --git a/source/release-notes/3.4-downgrade-replica-set.txt b/source/release-notes/3.4-downgrade-replica-set.txt index a6b7281956f..f97da572620 100644 --- a/source/release-notes/3.4-downgrade-replica-set.txt +++ b/source/release-notes/3.4-downgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================ Downgrade 3.4 Replica Set to 3.2 ================================ diff --git a/source/release-notes/3.4-downgrade-sharded-cluster.txt b/source/release-notes/3.4-downgrade-sharded-cluster.txt index 511c90fe981..e46cf9ef99a 100644 --- a/source/release-notes/3.4-downgrade-sharded-cluster.txt +++ b/source/release-notes/3.4-downgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Downgrade 3.4 Sharded Cluster to 3.2 ==================================== diff --git a/source/release-notes/3.4-downgrade-standalone.txt b/source/release-notes/3.4-downgrade-standalone.txt index 8f956d66ed0..765e23cd4e8 100644 --- a/source/release-notes/3.4-downgrade-standalone.txt +++ b/source/release-notes/3.4-downgrade-standalone.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + =============================== Downgrade 3.4 Standalone to 3.2 =============================== diff --git a/source/release-notes/3.4-downgrade.txt b/source/release-notes/3.4-downgrade.txt index a7b0e15b70f..5d3e83eb8c5 100644 --- a/source/release-notes/3.4-downgrade.txt +++ b/source/release-notes/3.4-downgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================ Downgrade MongoDB 3.4 to 3.2 ============================ diff --git a/source/release-notes/3.4-upgrade-replica-set.txt b/source/release-notes/3.4-upgrade-replica-set.txt index 042d9557bec..72882e5fe38 100644 --- a/source/release-notes/3.4-upgrade-replica-set.txt +++ b/source/release-notes/3.4-upgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _3.4-upgrade-replica-set: ============================ diff --git a/source/release-notes/3.4-upgrade-sharded-cluster.txt b/source/release-notes/3.4-upgrade-sharded-cluster.txt index 7c2a1420833..0e32cb5f5bc 100644 --- a/source/release-notes/3.4-upgrade-sharded-cluster.txt +++ b/source/release-notes/3.4-upgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _3.4-upgrade-sharded-cluster: ================================ diff --git a/source/release-notes/3.4-upgrade-standalone.txt b/source/release-notes/3.4-upgrade-standalone.txt index 405b9a69c10..88c9a21ed42 100644 --- a/source/release-notes/3.4-upgrade-standalone.txt +++ b/source/release-notes/3.4-upgrade-standalone.txt @@ -1,3 +1,9 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet .. _3.4-upgrade-standalone: diff --git a/source/release-notes/3.4.txt b/source/release-notes/3.4.txt index d0076370ef5..3b551ffcdba 100644 --- a/source/release-notes/3.4.txt +++ b/source/release-notes/3.4.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-3.4: ============================= diff --git a/source/release-notes/3.6-changelog.txt b/source/release-notes/3.6-changelog.txt index 8ba2c9352b3..5cb32d5e866 100644 --- a/source/release-notes/3.6-changelog.txt +++ b/source/release-notes/3.6-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 3.6 Changelog ============= diff --git a/source/release-notes/3.6-compatibility.txt b/source/release-notes/3.6-compatibility.txt index 7982c245453..71363e2a982 100644 --- a/source/release-notes/3.6-compatibility.txt +++ b/source/release-notes/3.6-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 3.6 ==================================== diff --git a/source/release-notes/3.6-downgrade-replica-set.txt b/source/release-notes/3.6-downgrade-replica-set.txt index 61b1dbeb73e..b00af709846 100644 --- a/source/release-notes/3.6-downgrade-replica-set.txt +++ b/source/release-notes/3.6-downgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================ Downgrade 3.6 Replica Set to 3.4 ================================ diff --git a/source/release-notes/3.6-downgrade-sharded-cluster.txt b/source/release-notes/3.6-downgrade-sharded-cluster.txt index 717a19dbdf0..a1d32225020 100644 --- a/source/release-notes/3.6-downgrade-sharded-cluster.txt +++ b/source/release-notes/3.6-downgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Downgrade 3.6 Sharded Cluster to 3.4 ==================================== diff --git a/source/release-notes/3.6-downgrade-standalone.txt b/source/release-notes/3.6-downgrade-standalone.txt index 9d8215083a8..4f54cf2db07 100644 --- a/source/release-notes/3.6-downgrade-standalone.txt +++ b/source/release-notes/3.6-downgrade-standalone.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================================= Downgrade |newversion| Standalone to |oldversion| ================================================= diff --git a/source/release-notes/3.6-upgrade-replica-set.txt b/source/release-notes/3.6-upgrade-replica-set.txt index 591ef33e225..53a00ed91c8 100644 --- a/source/release-notes/3.6-upgrade-replica-set.txt +++ b/source/release-notes/3.6-upgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _3.6-upgrade-replica-set: ============================ diff --git a/source/release-notes/3.6-upgrade-sharded-cluster.txt b/source/release-notes/3.6-upgrade-sharded-cluster.txt index ce4ecff2425..a51355241ea 100644 --- a/source/release-notes/3.6-upgrade-sharded-cluster.txt +++ b/source/release-notes/3.6-upgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _3.6-upgrade-sharded-cluster: ================================ diff --git a/source/release-notes/3.6-upgrade-standalone.txt b/source/release-notes/3.6-upgrade-standalone.txt index 66ce43bb172..92137c5e8d7 100644 --- a/source/release-notes/3.6-upgrade-standalone.txt +++ b/source/release-notes/3.6-upgrade-standalone.txt @@ -1,3 +1,9 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet .. _3.6-upgrade-standalone: diff --git a/source/release-notes/3.6.txt b/source/release-notes/3.6.txt index dad44dc4e2b..dc6164f7c35 100644 --- a/source/release-notes/3.6.txt +++ b/source/release-notes/3.6.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-3.6: ============================= diff --git a/source/release-notes/4.0-changelog.txt b/source/release-notes/4.0-changelog.txt index 43003e06919..d154990d5cf 100644 --- a/source/release-notes/4.0-changelog.txt +++ b/source/release-notes/4.0-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 4.0 Changelog ============= diff --git a/source/release-notes/4.0-compatibility.txt b/source/release-notes/4.0-compatibility.txt index 589f59571b0..0b551e1c7be 100644 --- a/source/release-notes/4.0-compatibility.txt +++ b/source/release-notes/4.0-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 4.0 ==================================== diff --git a/source/release-notes/4.0-downgrade-replica-set.txt b/source/release-notes/4.0-downgrade-replica-set.txt index d7e84a8e21e..16a72f3cba4 100644 --- a/source/release-notes/4.0-downgrade-replica-set.txt +++ b/source/release-notes/4.0-downgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================ Downgrade 4.0 Replica Set to 3.6 ================================ diff --git a/source/release-notes/4.0-downgrade-sharded-cluster.txt b/source/release-notes/4.0-downgrade-sharded-cluster.txt index cebc49ff755..e5253d65b9f 100644 --- a/source/release-notes/4.0-downgrade-sharded-cluster.txt +++ b/source/release-notes/4.0-downgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Downgrade 4.0 Sharded Cluster to 3.6 ==================================== diff --git a/source/release-notes/4.0-downgrade-standalone.txt b/source/release-notes/4.0-downgrade-standalone.txt index 9b8d22bbf6f..0af43f63097 100644 --- a/source/release-notes/4.0-downgrade-standalone.txt +++ b/source/release-notes/4.0-downgrade-standalone.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================================= Downgrade |newversion| Standalone to |oldversion| ================================================= diff --git a/source/release-notes/4.0-upgrade-replica-set.txt b/source/release-notes/4.0-upgrade-replica-set.txt index 17e1501840b..d866c175e6e 100644 --- a/source/release-notes/4.0-upgrade-replica-set.txt +++ b/source/release-notes/4.0-upgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _4.0-upgrade-replica-set: ============================ diff --git a/source/release-notes/4.0-upgrade-sharded-cluster.txt b/source/release-notes/4.0-upgrade-sharded-cluster.txt index 30a986d5c2f..34303055672 100644 --- a/source/release-notes/4.0-upgrade-sharded-cluster.txt +++ b/source/release-notes/4.0-upgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _4.0-upgrade-sharded-cluster: ================================ diff --git a/source/release-notes/4.0-upgrade-standalone.txt b/source/release-notes/4.0-upgrade-standalone.txt index 67964c22803..2ca63f0a3b3 100644 --- a/source/release-notes/4.0-upgrade-standalone.txt +++ b/source/release-notes/4.0-upgrade-standalone.txt @@ -1,3 +1,9 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet .. _4.0-upgrade-standalone: diff --git a/source/release-notes/4.0.txt b/source/release-notes/4.0.txt index 99d1a404962..c7b89687d98 100644 --- a/source/release-notes/4.0.txt +++ b/source/release-notes/4.0.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-4.0: ============================= @@ -1328,6 +1335,11 @@ You can also enable or disable free monitoring at startup using either: - the command-line option ``--enableFreeMonitoring`` +.. note:: + + Starting in MongoDB 7.0, :ref:`free monitoring + ` is decommissioned. + View Status ~~~~~~~~~~~ @@ -1525,11 +1537,11 @@ Network Layer Improvements - :parameter:`connPoolMaxInUseConnsPerHost` - - :parameter:`connPoolMaxShardedInUseConnsPerHost` + - ``connPoolMaxShardedInUseConnsPerHost`` - :parameter:`globalConnPoolIdleTimeoutMinutes` - - :parameter:`shardedConnPoolIdleTimeoutMinutes` + - ``shardedConnPoolIdleTimeoutMinutes`` Configuration Options ~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/release-notes/4.2-changelog.txt b/source/release-notes/4.2-changelog.txt index e73c3999674..08168ac6b52 100644 --- a/source/release-notes/4.2-changelog.txt +++ b/source/release-notes/4.2-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 4.2 Changelog ============= diff --git a/source/release-notes/4.2-compatibility.txt b/source/release-notes/4.2-compatibility.txt index e2b3097b4ae..2453bd73acf 100644 --- a/source/release-notes/4.2-compatibility.txt +++ b/source/release-notes/4.2-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 4.2 ==================================== diff --git a/source/release-notes/4.2-downgrade-replica-set.txt b/source/release-notes/4.2-downgrade-replica-set.txt index ac3e6321e4f..9b720414551 100644 --- a/source/release-notes/4.2-downgrade-replica-set.txt +++ b/source/release-notes/4.2-downgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================================== Downgrade |newversion| Replica Set to |oldversion| ================================================== diff --git a/source/release-notes/4.2-downgrade-sharded-cluster.txt b/source/release-notes/4.2-downgrade-sharded-cluster.txt index 973e2ea6e36..885ff6d3ee1 100644 --- a/source/release-notes/4.2-downgrade-sharded-cluster.txt +++ b/source/release-notes/4.2-downgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ====================================================== Downgrade |newversion| Sharded Cluster to |oldversion| ====================================================== diff --git a/source/release-notes/4.2-downgrade-standalone.txt b/source/release-notes/4.2-downgrade-standalone.txt index 907d1bc2a50..abbe31c7c6a 100644 --- a/source/release-notes/4.2-downgrade-standalone.txt +++ b/source/release-notes/4.2-downgrade-standalone.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ================================================= Downgrade |newversion| Standalone to |oldversion| ================================================= diff --git a/source/release-notes/4.2-downgrade.txt b/source/release-notes/4.2-downgrade.txt index c1b536bc239..c2d590772eb 100644 --- a/source/release-notes/4.2-downgrade.txt +++ b/source/release-notes/4.2-downgrade.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ====================================== Downgrade |newversion| to |oldversion| ====================================== diff --git a/source/release-notes/4.2-upgrade-replica-set.txt b/source/release-notes/4.2-upgrade-replica-set.txt index 56784cb5d36..9aebb450aca 100644 --- a/source/release-notes/4.2-upgrade-replica-set.txt +++ b/source/release-notes/4.2-upgrade-replica-set.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _4.2-upgrade-replica-set: ============================ diff --git a/source/release-notes/4.2-upgrade-sharded-cluster.txt b/source/release-notes/4.2-upgrade-sharded-cluster.txt index 117983253c6..84d59ff0f38 100644 --- a/source/release-notes/4.2-upgrade-sharded-cluster.txt +++ b/source/release-notes/4.2-upgrade-sharded-cluster.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _4.2-upgrade-sharded-cluster: ================================ diff --git a/source/release-notes/4.2-upgrade-standalone.txt b/source/release-notes/4.2-upgrade-standalone.txt index 070e3f9a4dc..aed7f728ebb 100644 --- a/source/release-notes/4.2-upgrade-standalone.txt +++ b/source/release-notes/4.2-upgrade-standalone.txt @@ -1,3 +1,9 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet .. _4.2-upgrade-standalone: diff --git a/source/release-notes/4.2.txt b/source/release-notes/4.2.txt index a5336004e56..af57018f96a 100644 --- a/source/release-notes/4.2.txt +++ b/source/release-notes/4.2.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + .. _release-notes-4.2: ============================= @@ -1801,11 +1808,11 @@ the following output changes: ` * - :serverstatus:`metrics.repl` - - Added new :serverstatus:`metrics.repl.stepDown` metrics: + - Added new ``metrics.repl.stepDown`` metrics: - - :serverstatus:`metrics.repl.stepDown.userOperationsKilled` + - ``metrics.repl.stepDown.userOperationsKilled`` - - :serverstatus:`metrics.repl.stepDown.userOperationsRunning` + - ``metrics.repl.stepDown.userOperationsRunning`` * - :serverstatus:`transactions` diff --git a/source/release-notes/4.4-changelog.txt b/source/release-notes/4.4-changelog.txt index 33444838c2d..e7ca5754f24 100644 --- a/source/release-notes/4.4-changelog.txt +++ b/source/release-notes/4.4-changelog.txt @@ -10,6 +10,8 @@ :depth: 1 :class: singlecol +.. include:: /includes/changelogs/releases/4.4.28.rst + .. include:: /includes/changelogs/releases/4.4.27.rst .. include:: /includes/changelogs/releases/4.4.26.rst diff --git a/source/release-notes/4.4.txt b/source/release-notes/4.4.txt index 340868ac64f..20687ca5065 100644 --- a/source/release-notes/4.4.txt +++ b/source/release-notes/4.4.txt @@ -44,9 +44,28 @@ Release Notes for MongoDB 4.4 Patch Releases -------------- +.. _4.4.28-release-notes: + +4.4.28 - Jan 18, 2024 +~~~~~~~~~~~~~~~~~~~~~ + +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch + data and ShardVersion +- :issue:`SERVER-82365` Optimize the construction of the balancer's + collection distribution status histogram (2nd attempt) +- :issue:`SERVER-82883` Recovering TransactionCoordinator on stepup may + block acquiring read/write tickets while participants are in the + prepared state +- :issue:`WT-7929` Investigate a solution to avoid FTDC stalls during + checkpoint +- `All JIRA issues closed in 4.4.28 + `_ +- :ref:`4.4.28-changelog` + + .. _4.4.27-release-notes: -4.4.27 - Jan 3, 2023 +4.4.27 - Jan 3, 2024 ~~~~~~~~~~~~~~~~~~~~ - :issue:`SERVER-63865` Handle missing index idents during standalone startup diff --git a/source/release-notes/5.0-changelog.txt b/source/release-notes/5.0-changelog.txt index 11ec532456b..c9553a5b31b 100644 --- a/source/release-notes/5.0-changelog.txt +++ b/source/release-notes/5.0-changelog.txt @@ -10,6 +10,8 @@ :depth: 1 :class: singlecol +.. include:: /includes/changelogs/releases/5.0.24.rst + .. include:: /includes/changelogs/releases/5.0.23.rst .. include:: /includes/changelogs/releases/5.0.22.rst diff --git a/source/release-notes/5.0.txt b/source/release-notes/5.0.txt index a8334559643..397ffe8a489 100644 --- a/source/release-notes/5.0.txt +++ b/source/release-notes/5.0.txt @@ -46,12 +46,30 @@ Patch Releases - 5.0.0 - 5.0.1 * - :issue:`SERVER-68511` - - 5.0.0 - 5.0.14 + - 5.0.0 - 5.0.10 * - :issue:`SERVER-80203` - 5.0.6 - 5.0.21 (Time Series collections sharded by metaField embedded objects) +.. _5.0.24-release-notes: + +5.0.24 - Jan 18, 2024 +~~~~~~~~~~~~~~~~~~~~~ + +- :issue:`SERVER-50792` Return more useful errors when a shard key index can't + be found for shardCollection/refineCollectionShardKey +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch data + and ShardVersion +- :issue:`SERVER-81878` startupRecoveryForRestore may not play nicely with + collection drop applied during startup recovery +- :issue:`SERVER-83091` $or query can trigger an infinite loop during plan + enumeration +- :issue:`WT-7929` Investigate a solution to avoid FTDC stalls during checkpoint +- `All JIRA issues closed in 5.0.24 + `_ +- :ref:`5.0.24-changelog` + .. _5.0.23-release-notes: 5.0.23 - Nov 27, 2023 diff --git a/source/release-notes/5.1-changelog.txt b/source/release-notes/5.1-changelog.txt index 0942974283d..9785255dcda 100644 --- a/source/release-notes/5.1-changelog.txt +++ b/source/release-notes/5.1-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 5.1 Changelog ============= diff --git a/source/release-notes/5.1-compatibility.txt b/source/release-notes/5.1-compatibility.txt index f14c3055585..2b5ddebea9f 100644 --- a/source/release-notes/5.1-compatibility.txt +++ b/source/release-notes/5.1-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 5.1 ==================================== diff --git a/source/release-notes/5.1.txt b/source/release-notes/5.1.txt index 295164af728..53fccc48fe0 100644 --- a/source/release-notes/5.1.txt +++ b/source/release-notes/5.1.txt @@ -1,5 +1,12 @@ .. _release-notes-5.1: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 5.1 ============================= diff --git a/source/release-notes/5.2-changelog.txt b/source/release-notes/5.2-changelog.txt index b7846ff3001..e2a6276a7c1 100644 --- a/source/release-notes/5.2-changelog.txt +++ b/source/release-notes/5.2-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 5.2 Changelog ============= diff --git a/source/release-notes/5.2-compatibility.txt b/source/release-notes/5.2-compatibility.txt index 202e421b5b1..430406fcd33 100644 --- a/source/release-notes/5.2-compatibility.txt +++ b/source/release-notes/5.2-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 5.2 ==================================== diff --git a/source/release-notes/5.2.txt b/source/release-notes/5.2.txt index 88c5d8963ad..78ef934db7f 100644 --- a/source/release-notes/5.2.txt +++ b/source/release-notes/5.2.txt @@ -1,5 +1,12 @@ .. _release-notes-5.2: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 5.2 ============================= diff --git a/source/release-notes/5.3-changelog.txt b/source/release-notes/5.3-changelog.txt index 98aef12fce5..a4841985d5a 100644 --- a/source/release-notes/5.3-changelog.txt +++ b/source/release-notes/5.3-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 5.3 Changelog ============= @@ -14,4 +21,4 @@ .. include:: /includes/changelogs/releases/5.3.1.rst -.. include:: /includes/changelogs/releases/5.3.0.rst \ No newline at end of file +.. include:: /includes/changelogs/releases/5.3.0.rst diff --git a/source/release-notes/5.3-compatibility.txt b/source/release-notes/5.3-compatibility.txt index d0257bfff3b..66eb04b5741 100644 --- a/source/release-notes/5.3-compatibility.txt +++ b/source/release-notes/5.3-compatibility.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 5.3 ==================================== diff --git a/source/release-notes/5.3.txt b/source/release-notes/5.3.txt index c642b1c9463..e9c05de4e77 100644 --- a/source/release-notes/5.3.txt +++ b/source/release-notes/5.3.txt @@ -1,5 +1,12 @@ .. _release-notes-5.3: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 5.3 ============================= diff --git a/source/release-notes/6.0-changelog.txt b/source/release-notes/6.0-changelog.txt index 3a57c4ec59e..78d4317e686 100644 --- a/source/release-notes/6.0-changelog.txt +++ b/source/release-notes/6.0-changelog.txt @@ -10,6 +10,10 @@ :depth: 1 :class: singlecol +.. include:: /includes/changelogs/releases/6.0.14.rst + +.. include:: /includes/changelogs/releases/6.0.13.rst + .. include:: /includes/changelogs/releases/6.0.12.txt .. include:: /includes/changelogs/releases/6.0.11.txt diff --git a/source/release-notes/6.0.txt b/source/release-notes/6.0.txt index 6aa4084f28b..689e312fbc6 100644 --- a/source/release-notes/6.0.txt +++ b/source/release-notes/6.0.txt @@ -50,6 +50,43 @@ see :ref:`release-version-numbers`. Patch Releases -------------- +.. _6.0.14-release-notes: + +6.0.14 - Upcoming +~~~~~~~~~~~~~~~~~ + +- :issue:`SERVER-82353` Multi-document transactions can miss documents + when movePrimary runs concurrently +- :issue:`SERVER-83119` Secondary replica crashes on clustered + collection if notablescan is enabled +- :issue:`SERVER-83145` Shared buffer fragment incorrectly tracks + memory usage in freeUnused() +- :issue:`SERVER-83564` Make sure the process field is indexed in + config.locks +- :issue:`WT-12077` Incorrect hardware checksum calculation on zSeries + for buffers on stack +- `All Jira issues closed in 6.0.14 + `__ +- :ref:`6.0.14-changelog` + +.. _6.0.13-release-notes: + +6.0.13 - Jan 18, 2024 +~~~~~~~~~~~~~~~~~~~~~ + +- :issue:`SERVER-33494` WT SizeStorer never deletes old entries +- :issue:`SERVER-50792` Return more useful errors when a shard key index + can't be found for shardCollection/refineCollectionShardKey +- :issue:`SERVER-70155` Add duration of how long an oplog slot is kept + open to mongod "Slow query" log lines +- :issue:`SERVER-77506` Sharded multi-document transactions can mismatch + data and ShardVersion +- :issue:`SERVER-83091` $or query can trigger an infinite loop during + plan enumeration +- `All Jira issues closed in 6.0.13 + `__ +- :ref:`6.0.13-changelog` + .. _6.0.12-release-notes: 6.0.12 - Nov 27, 2023 diff --git a/source/release-notes/6.1-changelog.txt b/source/release-notes/6.1-changelog.txt index cea0fa23ff3..cfb8c99d09d 100644 --- a/source/release-notes/6.1-changelog.txt +++ b/source/release-notes/6.1-changelog.txt @@ -1,5 +1,12 @@ .. _6.1-changelog-full: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 6.1 Changelog ============= diff --git a/source/release-notes/6.1-compatibility.txt b/source/release-notes/6.1-compatibility.txt index c2f6f53b49f..edc55c567d1 100644 --- a/source/release-notes/6.1-compatibility.txt +++ b/source/release-notes/6.1-compatibility.txt @@ -1,5 +1,12 @@ .. _6.1-compatibility: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 6.1 ==================================== diff --git a/source/release-notes/6.1.txt b/source/release-notes/6.1.txt index 239c6f7bc64..c996e63aa86 100644 --- a/source/release-notes/6.1.txt +++ b/source/release-notes/6.1.txt @@ -1,5 +1,12 @@ .. _release-notes-6.1: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 6.1 ============================= diff --git a/source/release-notes/6.2-changelog.txt b/source/release-notes/6.2-changelog.txt index 18408f75831..2641467cee5 100644 --- a/source/release-notes/6.2-changelog.txt +++ b/source/release-notes/6.2-changelog.txt @@ -1,5 +1,12 @@ .. _6.2-changelog-full: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 6.2 Changelog ============= diff --git a/source/release-notes/6.2-compatibility.txt b/source/release-notes/6.2-compatibility.txt index eb3bcfa62b1..019f3dd2e75 100644 --- a/source/release-notes/6.2-compatibility.txt +++ b/source/release-notes/6.2-compatibility.txt @@ -1,5 +1,12 @@ .. _6.2-compatibility: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 6.2 ==================================== diff --git a/source/release-notes/6.2.txt b/source/release-notes/6.2.txt index 726458be618..2b11e8bf010 100644 --- a/source/release-notes/6.2.txt +++ b/source/release-notes/6.2.txt @@ -1,5 +1,12 @@ .. _release-notes-6.2: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 6.2 ============================= diff --git a/source/release-notes/6.3-changelog.txt b/source/release-notes/6.3-changelog.txt index a8549218c60..6f47db07205 100644 --- a/source/release-notes/6.3-changelog.txt +++ b/source/release-notes/6.3-changelog.txt @@ -1,3 +1,10 @@ +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============= 6.3 Changelog ============= diff --git a/source/release-notes/6.3-compatibility.txt b/source/release-notes/6.3-compatibility.txt index cd4ffa4b45e..118f314406a 100644 --- a/source/release-notes/6.3-compatibility.txt +++ b/source/release-notes/6.3-compatibility.txt @@ -1,5 +1,12 @@ .. _6.3-compatibility: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ==================================== Compatibility Changes in MongoDB 6.3 ==================================== @@ -44,4 +51,4 @@ Partial TTL Indexes for Time Series Collections Starting in MongoDB 6.3, you can create partial :ref:`Time To Live (TTL) ` indexes on time series collections. To downgrade below 6.3, you must remove all partial TTL indexes from your -time series collections. \ No newline at end of file +time series collections. diff --git a/source/release-notes/6.3.txt b/source/release-notes/6.3.txt index 37f74658829..3b8a3084075 100644 --- a/source/release-notes/6.3.txt +++ b/source/release-notes/6.3.txt @@ -1,5 +1,12 @@ .. _release-notes-6.3: +.. This page is hidden from the TOC and search indexing. + +:orphan: + +.. meta:: + :robots: noindex, nosnippet + ============================= Release Notes for MongoDB 6.3 ============================= diff --git a/source/release-notes/7.0-compatibility.txt b/source/release-notes/7.0-compatibility.txt index 6ce585e2abf..a1ef3c9baee 100644 --- a/source/release-notes/7.0-compatibility.txt +++ b/source/release-notes/7.0-compatibility.txt @@ -43,6 +43,19 @@ Deprecations - *Deprecated in version 7.0.* +Free Monitoring Decommissioned +------------------------------ + +Starting in MongoDB 7.0, :ref:`free monitoring +` is decommissioned. The following aren't +available: + +- ``cloud.monitoring.free`` configuration option +- ``--enableFreeMonitoring`` server parameter +- ``db.enableFreeMonitoring()`` command +- ``db.disableFreeMonitoring()`` command +- ``setFreeMonitoring`` command + Queryable Encryption General Availability ----------------------------------------- diff --git a/source/release-notes/7.0.txt b/source/release-notes/7.0.txt index 49e25d48fb1..6d687cd613d 100644 --- a/source/release-notes/7.0.txt +++ b/source/release-notes/7.0.txt @@ -42,8 +42,8 @@ Patch Releases .. _7.0.5-release-notes: -7.0.5 - Upcoming -~~~~~~~~~~~~~~~~ +7.0.5 - Jan 5, 2024 +~~~~~~~~~~~~~~~~~~~ Issues fixed: @@ -196,6 +196,11 @@ Aggregation Stages General Changes --------------- +Drop a Hashed Shard Key Index +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: /includes/drop-hashed-shard-key-index.rst + Cache Refresh Time Fields ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -697,3 +702,4 @@ Report an Issue /release-notes/7.0-compatibility /release-notes/7.0-downgrade /release-notes/7.0-upgrade + /release-notes/7.0-changelog diff --git a/source/release-notes/7.1.txt b/source/release-notes/7.1.txt index 80ff64b9495..e96ddaa3424 100644 --- a/source/release-notes/7.1.txt +++ b/source/release-notes/7.1.txt @@ -185,3 +185,4 @@ Query Stats Metrics :hidden: /release-notes/7.1-compatibility + /release-notes/7.1-changelog diff --git a/source/release-notes/7.2-changelog.txt b/source/release-notes/7.2-changelog.txt new file mode 100644 index 00000000000..95266d0b241 --- /dev/null +++ b/source/release-notes/7.2-changelog.txt @@ -0,0 +1,15 @@ +.. _7.2-changelog-full: + +============= +7.2 Changelog +============= + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 1 + :class: singlecol + +.. include:: /includes/changelogs/releases/7.2.1.rst \ No newline at end of file diff --git a/source/release-notes/7.2-compatibility.txt b/source/release-notes/7.2-compatibility.txt index 7d263575a18..ae81ca94208 100644 --- a/source/release-notes/7.2-compatibility.txt +++ b/source/release-notes/7.2-compatibility.txt @@ -14,8 +14,6 @@ Compatibility Changes in MongoDB 7.2 .. _7.2-downgrade-incompatible: -.. include:: /includes/rc-available.rst - .. include:: /includes/rapid-release-short.rst Backward-Incompatible Features diff --git a/source/release-notes/7.2.txt b/source/release-notes/7.2.txt index 983eba7686a..4da167c8739 100644 --- a/source/release-notes/7.2.txt +++ b/source/release-notes/7.2.txt @@ -1,8 +1,8 @@ .. _release-notes-7.2: -================================================= -Release Notes for MongoDB 7.2 (Release Candidate) -================================================= +============================= +Release Notes for MongoDB 7.2 +============================= .. default-domain:: mongodb @@ -12,17 +12,33 @@ Release Notes for MongoDB 7.2 (Release Candidate) :depth: 1 :class: twocols -.. include:: /includes/rc-available.rst - .. include:: /includes/rapid-release-short.rst -General Changes ---------------- +Patch Releases +-------------- + +.. _7.2.1-release-notes: -New Bulk Write Command -~~~~~~~~~~~~~~~~~~~~~~ +7.2.1 - Upcoming +~~~~~~~~~~~~~~~~ -.. include:: /includes/bulkWrite-introduction.rst +Issues fixed: + +- :issue:`SERVER-72703` Downgrade $out's db lock to MODE_IX +- :issue:`SERVER-80363` server default writeConcern is not honored when + wtimeout is set +- :issue:`SERVER-83492` Remove limit and skip values from SBE plan cache + key if possible +- :issue:`SERVER-84013` Incorrect results for index scan plan on query + with duplicate predicates in nested $or +- :issue:`SERVER-84338` Top level $or queries may lead to invalid SBE + plan cache entry which returns wrong results +- `All JIRA issues closed in 7.2.1 + `_ +- :ref:`7.2.1-changelog` + +General Changes +--------------- .. _7.2-mongos-db-aggregation-validation: @@ -90,5 +106,6 @@ For examples, see :ref:`reshardCollection-redistribute-data`. :hidden: /release-notes/7.2-compatibility + /release-notes/7.2-changelog diff --git a/source/release-notes/7.3-compatibility.txt b/source/release-notes/7.3-compatibility.txt index 887345eb8a4..c873b996bc5 100644 --- a/source/release-notes/7.3-compatibility.txt +++ b/source/release-notes/7.3-compatibility.txt @@ -14,7 +14,7 @@ Compatibility Changes in MongoDB 7.3 .. _7.3-downgrade-incompatible: -.. include:: /includes/rapid-release-short.rst +.. include:: /includes/in-dev.rst Backward-Incompatible Features ------------------------------ diff --git a/source/release-notes/7.3.txt b/source/release-notes/7.3.txt index 5aac9c717fd..2bb97025a6d 100644 --- a/source/release-notes/7.3.txt +++ b/source/release-notes/7.3.txt @@ -12,7 +12,7 @@ Release Notes for MongoDB 7.3 (Release Candidate) :depth: 1 :class: twocols -.. include:: /includes/rapid-release-short.rst +.. include:: /includes/in-dev.rst General Changes --------------- @@ -31,3 +31,13 @@ megabytes, that must be recoverable for compaction to proceed. /release-notes/7.3-compatibility +``serverStatus`` Metrics +~~~~~~~~~~~~~~~~~~~~~~~~ + +Starting in MongoDB 7.3, the :dbcommand:`serverStatus` command output +includes the following new metrics: + +- :serverstatus:`metrics.repl.waiters.replication` +- :serverstatus:`metrics.repl.waiters.opTime` +- :serverstatus:`planCache.classic.skipped` +- :serverstatus:`planCache.sbe.skipped` diff --git a/source/tutorial/analyze-query-plan.txt b/source/tutorial/analyze-query-plan.txt index ab4d9b0cfef..d5826a6325f 100644 --- a/source/tutorial/analyze-query-plan.txt +++ b/source/tutorial/analyze-query-plan.txt @@ -4,6 +4,10 @@ Analyze Query Performance .. default-domain:: mongodb +.. facet:: + :name: programming_language + :values: shell + .. contents:: On this page :local: :backlinks: none @@ -141,7 +145,7 @@ Query with No Index - :data:`executionStats.nReturned ` displays ``3`` to - indicate that the query matches and returns three documents. + indicate that the winning query plan returns three documents. - :data:`executionStats.totalKeysExamined ` displays ``0`` @@ -202,7 +206,7 @@ Query with No Index execution stats of the query: - :guilabel:`Documents Returned` displays ``3`` to indicate - that the query matches and returns three documents. + that the winning query plan returns three documents. - :guilabel:`Index Keys Examined` displays ``0`` to indicate that this query is not using an index. @@ -301,8 +305,8 @@ To support the query on the ``quantity`` field, add an index on the ``IXSCAN`` to indicate index use. - :data:`executionStats.nReturned ` - displays ``3`` to indicate that the query matches and - returns three documents. + displays ``3`` to indicate that the winning query plan returns + three documents. - :data:`executionStats.totalKeysExamined ` displays ``3`` @@ -368,7 +372,7 @@ To support the query on the ``quantity`` field, add an index on the execution stats of the query: - :guilabel:`Documents Returned` displays ``3`` to indicate - that the query matches and returns three documents. + that the winning query plan returns three documents. - :guilabel:`Index Keys Examined` displays ``3`` to indicate that MongoDB scanned three index entries. The diff --git a/source/tutorial/backup-and-restore-tools.txt b/source/tutorial/backup-and-restore-tools.txt index c3a726b10c8..5aabad03250 100644 --- a/source/tutorial/backup-and-restore-tools.txt +++ b/source/tutorial/backup-and-restore-tools.txt @@ -49,7 +49,25 @@ Performance Impacts .. include:: /includes/extracts/tools-performance-considerations-dump-restore.rst +.. _considerations-output-format: +Output Format +~~~~~~~~~~~~~ + +:binary:`~bin.mongorestore` and :binary:`~bin.mongodump` can output data +to an archive file, which is a single-file alternative to multiple BSON +files. Archive files are special-purpose formats that support +non-contiguous file writes. They enable concurrent backups from MongoDB, +as well as restores to MongoDB. Using archive files optimizes disk I/O +while backup and restore operations execute. + +You can also output archive files to the standard output (``stdout``). +Writing to the standard output allows for data migration over networks, +reduced disk I/O footprint, and concurrency gains in both the MongoDB +tools and your storage engine. + +For more information on archive files, see the +:option:`--archive ` option. .. _backup-mongodump: .. _backup-and-restore-tools: diff --git a/source/tutorial/backup-sharded-cluster-with-filesystem-snapshots.txt b/source/tutorial/backup-sharded-cluster-with-filesystem-snapshots.txt index 1717b04abcd..d5408ca618b 100644 --- a/source/tutorial/backup-sharded-cluster-with-filesystem-snapshots.txt +++ b/source/tutorial/backup-sharded-cluster-with-filesystem-snapshots.txt @@ -6,15 +6,12 @@ Back Up a Sharded Cluster with File System Snapshots .. default-domain:: mongodb - - .. contents:: On this page :local: :backlinks: none :depth: 1 :class: singlecol - Overview -------- @@ -40,7 +37,7 @@ Encrypted Storage Engine (MongoDB Enterprise Only) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. include:: /includes/fact-aes256-backups.rst - + Balancer ~~~~~~~~ @@ -48,7 +45,7 @@ It is *essential* that you stop the :ref:`balancer ` before capturing a backup. If the balancer is active while you capture backups, the backup -artifacts may be incomplete and/or have duplicate data, as :term:`chunks +artifacts may be incomplete or have duplicate data, as :term:`chunks ` may migrate while recording backups. Precision @@ -58,28 +55,191 @@ In this procedure, you will stop the cluster balancer and take a backup up of the :term:`config database`, and then take backups of each shard in the cluster using a file-system snapshot tool. If you need an exact moment-in-time snapshot of the system, you will need to stop all -application writes before taking the file system snapshots; otherwise -the snapshot will only approximate a moment in time. - -For approximate point-in-time snapshots, you can minimize the impact on -the cluster by taking the backup from a secondary member of each -replica set shard. +writes before taking the file system snapshots; otherwise the snapshot will +only approximate a moment in time. Consistency ~~~~~~~~~~~ -If the journal and data files are on the same logical volume, you can -use a single point-in-time snapshot to capture a consistent copy of the -data files. - -If the journal and data files are on different file systems, you must -use :method:`db.fsyncLock()` and :method:`db.fsyncUnlock()` to ensure -that the data files do not change, providing consistency for the -purposes of creating backups. +To back up a sharded cluster, you must use the :dbcommand:`fsync` command or +:method:`db.fsyncLock` method to stop writes on the cluster. This ensures that +data files do not change during the backup. .. include:: /includes/fact-backup-snapshots-with-ebs-in-raid10.rst -Procedure ---------- +Steps +----- + +To take a self-managed backup of a sharded cluster, complete the following +steps: + +.. procedure:: + :style: normal + + .. step:: Find a Backup Window + + Chunk migrations, resharding, and schema migration operations can cause + inconsistencies in backups. To find a good time to perform a backup, + monitor your application and database usage and find a time when these + operations are unlikely to occur. + + For more information, see :ref:`sharded-schedule-backup`. + + .. step:: Stop the Balancer + + To prevent chunk migrations from disrupting the backup, use + the :method:`sh.stopBalancer` method to stop the balancer: + + .. code-block:: javascript + + sh.stopBalancer() + + If a balancing round is currently in progress, the operation waits for + balancing to complete. + + To confirm that the balancer is stopped, use the + :method:`sh.getBalancerState` method: + + .. io-code-block:: + + .. input:: + :language: javascript + + sh.getBalancerState() + + .. output:: + :language: javascript + + false + + The command returns ``false`` when the balancer is stopped. + + .. step:: Lock the Cluster + + Writes to the database can cause backup inconsistencies. Lock your + sharded cluster to protect the database from writes. + + To lock a sharded cluster, use the :method:`db.fsyncLock` method: + + .. code-block:: javascript + + db.getSiblingDB("admin").fsyncLock() + + Run the following aggregation pipeline on both :program:`mongos` and + the primary :program:`mongod` of the config servers. To confirm the + lock, ensure that the ``fysncLocked`` field returns ``true`` and + ``fsyncUnlocked`` field returns ``false``. + + .. io-code-block:: + + .. input:: + :language: javascript + + db.getSiblingDB("admin").aggregate( [ + { $currentOp: { } }, + { $facet: { + "locked": [ + { $match: { $and: [ + { fsyncLock: { $exists: true } }, + { fsyncLock: true } + ] } }], + "unlocked": [ + { $match: { fsyncLock: { $exists: false } } } + ] + } }, + { $project: { + "fsyncLocked": { $gt: [ { $size: "$locked" }, 0 ] }, + "fsyncUnlocked": { $gt: [ { $size: "$unlocked" }, 0 ] } + } } + ] ) + + .. output:: + :language: json + + [ { fsyncLocked: true }, { fsyncUnlocked: false } ] + + .. step:: Back up the Primary Config Server + + .. note:: + + Backing up a :ref:`config server ` backs + up the sharded cluster's metadata. You only need to back up one + config server, as they all hold the same data. Perform this step + against the CSRS primary member. + + To create a filesystem snapshot of the config server, follow the + procedure in :ref:`lvm-backup-operation`. + + .. step:: Back up the Primary Shards + + Perform a filesystem snapshot against the primary member of each shard, + using the procedure found in :ref:`backup-restore-filesystem-snapshots`. + + .. step:: Unlock the Cluster + + After the backup completes, you can unlock the cluster to allow writes + to resume. + + To unlock the cluster, use the :method:`db.fsyncUnlock` method: + + .. code-block:: bash + + db.getSibling("admin").fsyncUnlock() + + Run the following aggregation pipeline on both :program:`mongos` and + the primary :program:`mongod` of the config servers. To confirm the + unlock, ensure that the ``fysncLocked`` field returns ``false`` and + ``fsyncUnlocked`` field returns ``true``. + + .. io-code-block:: + + .. input:: + :language: javascript + + db.getSiblingDB("admin").aggregate( [ + { $currentOp: { } }, + { $facet: { + "locked": [ + { $match: { $and: [ + { fsyncLock: { $exists: true } }, + { fsyncLock: true } + ] } }], + "unlocked": [ + { $match: { fsyncLock: { $exists: false } } } + ] + } }, + { $project: { + "fsyncLocked": { $gt: [ { $size: "$locked" }, 0 ] }, + "fsyncUnlocked": { $gt: [ { $size: "$unlocked" }, 0 ] } + } } + ] ) + + .. output:: + :language: json + + [ { fsyncLocked: false }, { fsyncUnlocked: true } ] + + .. step:: Restart the Balancer + + To restart the balancer, use the :method:`sh.startBalancer` method: + + .. code-block:: javascript + + sh.startBalancer() + + To confirm that the balancer is running, use the + :method:`sh.getBalancerState` method: + + .. io-code-block:: + + .. input:: + :language: javascript + + sh.getBalancerState() + + .. output:: + :language: javascript + + true -.. include:: /includes/steps/backup-sharded-cluster-with-snapshots.rst + The command returns ``true`` when the balancer is running. diff --git a/source/tutorial/configure-ssl.txt b/source/tutorial/configure-ssl.txt index ea29f25c56d..eed56b9102c 100644 --- a/source/tutorial/configure-ssl.txt +++ b/source/tutorial/configure-ssl.txt @@ -345,6 +345,10 @@ your :binary:`mongod` / :binary:`mongos` instance's certificate chain includes the certificate of the root Certificate Authority. +.. important:: + + .. include:: /includes/fact-ssl-tlsCAFile-tlsUseSystemCA.rst + For example, consider the following :ref:`configuration file ` for a :binary:`~bin.mongod` instance: diff --git a/source/tutorial/configure-windows-netsh-firewall.txt b/source/tutorial/configure-windows-netsh-firewall.txt index 4e204dd9b31..35bfbfbf30f 100644 --- a/source/tutorial/configure-windows-netsh-firewall.txt +++ b/source/tutorial/configure-windows-netsh-firewall.txt @@ -10,6 +10,10 @@ Configure Windows ``netsh`` Firewall for MongoDB :depth: 1 :class: singlecol +.. facet:: + :name: genre + :values: tutorial + On Windows Server systems, the ``netsh`` program provides methods for managing the :guilabel:`Windows Firewall`. These firewall rules make it possible for administrators to control what hosts can connect to the system, @@ -209,16 +213,16 @@ servers, and the :binary:`mongos.exe` instances. .. include:: /includes/fact-deprecated-http-interface.rst -Manage and Maintain *Windows Firewall* Configurations ------------------------------------------------------ +Manage Windows Firewall Configurations +-------------------------------------- This section contains a number of basic operations for managing and using ``netsh``. While you can use the GUI front ends to manage the :guilabel:`Windows Firewall`, all core functionality is accessible is accessible from ``netsh``. -Delete all *Windows Firewall* Rules -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Delete Windows Firewall Rules for Default MongoDB Ports +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To delete the firewall rule allowing :binary:`mongod.exe` traffic: @@ -228,8 +232,8 @@ To delete the firewall rule allowing :binary:`mongod.exe` traffic: netsh advfirewall firewall delete rule name="Open mongod shard port 27018" protocol=tcp localport=27018 -List All *Windows Firewall* Rules -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +List All Windows Firewall Rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To return a list of all :guilabel:`Windows Firewall` rules: @@ -237,8 +241,8 @@ To return a list of all :guilabel:`Windows Firewall` rules: netsh advfirewall firewall show rule name=all -Reset *Windows Firewall* -~~~~~~~~~~~~~~~~~~~~~~~~ +Reset Windows Firewall +~~~~~~~~~~~~~~~~~~~~~~ To reset the :guilabel:`Windows Firewall` rules: @@ -246,22 +250,25 @@ To reset the :guilabel:`Windows Firewall` rules: netsh advfirewall reset -Backup and Restore *Windows Firewall* Rules -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Backup and Restore Windows Firewall Rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To simplify administration of larger collection of systems, you can export or -import firewall systems from different servers) rules very easily on Windows: +To simplify administration of larger systems, you can export or import +Windows Firewall rules. -Export all firewall rules with the following command: +- To export all Windows Firewall rules, run the following command: -.. code-block:: bat + .. code-block:: bat - netsh advfirewall export "C:\temp\MongoDBfw.wfw" + netsh advfirewall export "C:\temp\MongoDBfw.wfw" -Replace ``"C:\temp\MongoDBfw.wfw"`` with a path of your choosing. You -can use a command in the following form to import a file created using -this operation: + Replace ``"C:\temp\MongoDBfw.wfw"`` with a path of your choosing. -.. code-block:: bat +- To import Windows Firewall rules, run the following command: + + .. code-block:: bat + + netsh advfirewall import "C:\temp\MongoDBfw.wfw" - netsh advfirewall import "C:\temp\MongoDBfw.wfw" + Replace ``"C:\temp\MongoDBfw.wfw"`` with the path to the file that + contains your Windows Firewall rules. diff --git a/source/tutorial/configure-x509-member-authentication.txt b/source/tutorial/configure-x509-member-authentication.txt index b949507a6e3..85f1e789c22 100644 --- a/source/tutorial/configure-x509-member-authentication.txt +++ b/source/tutorial/configure-x509-member-authentication.txt @@ -35,7 +35,7 @@ connect and perform operations in the deployment. * See the :doc:`/tutorial/configure-x509-client-authentication` tutorial for instructions on using x.509 certificates for user authentication. -.. _`default distribution of MongoDB`: http://www.mongodb.org/downloads?tck=docs_server +.. _`default distribution of MongoDB`: http://mongodb.com/downloads?tck=docs_server .. _`MongoDB Enterprise`: http://www.mongodb.com/products/mongodb-enterprise-advanced?tck=docs_server .. important:: diff --git a/source/tutorial/drop-a-hashed-shard-key-index.txt b/source/tutorial/drop-a-hashed-shard-key-index.txt new file mode 100644 index 00000000000..e4f1352d223 --- /dev/null +++ b/source/tutorial/drop-a-hashed-shard-key-index.txt @@ -0,0 +1,94 @@ +.. _drop-a-hashed-shard-key-index: + +============================= +Drop a Hashed Shard Key Index +============================= + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 1 + :class: singlecol + +.. include:: /includes/drop-hashed-shard-key-index-main.rst + +About this Task +--------------- + +Dropping an `unnecessary index +`_ +can speed up CRUD operations. Each CRUD operation has to update all the +indexes related to a document. Removing one index can increase the +speed of all CRUD operations. + +When you drop a hashed shard key index, the server disables balancing +for that collection and excludes the collection from future balancing +rounds. In order to include the collection in balancing rounds once +again, you must recreate the shard key index. + +Steps +----- + +.. procedure:: + :style: normal + + .. step:: Stop the balancer + + Run the following command to stop the balancer: + + .. code-block:: javascript + + sh.stopBalancer() + + You can only run ``sh.stopBalancer()`` on ``mongos``. + ``sh.stopBalancer()`` produces an error if run on ``mongod``. + + .. step:: Confirm there are no orphaned documents in your collection + + Starting in MongoDB 6.0.3, you can run an aggregation using the + :pipeline:`$shardedDataDistribution` stage to confirm no orphaned + documents remain: + + .. code-block:: javascript + + db.aggregate([ + { $shardedDataDistribution: {} }, + { $match: { "ns": "." } } + ]) + + ``$shardedDataDistribution`` has output similar to the following: + + .. include:: /includes/shardedDataDistribution-output-example.rst + + Ensure that ``"numOrphanedDocs"`` is ``0`` for each shard in the + cluster. + + .. step:: Drop the hashed shard key index + + Run the following command to drop the index: + + .. code-block:: javascript + + db.collection.dropIndex("") + + .. step:: Restart the balancer + + Run the following command to restart the balancer on the cluster: + + .. code-block:: javascript + + sh.startBalancer() + + +Learn More +---------- + +- :ref:`sharding-hashed` +- :ref:`sharding-balancing` +- :method:`db.collection.dropIndex()` +- :method:`sh.stopBalancer()` +- :method:`sh.startBalancer()` +- :method:`sh.getBalancerState()` + diff --git a/source/tutorial/equality-sort-range-rule.txt b/source/tutorial/equality-sort-range-rule.txt index 838f8503caa..6daaa753879 100644 --- a/source/tutorial/equality-sort-range-rule.txt +++ b/source/tutorial/equality-sort-range-rule.txt @@ -119,15 +119,17 @@ non-blocking index sort. For more information on blocking sorts, see Additional Considerations ------------------------- -Inequality operators such as :query:`$ne` or :query:`$nin` are range -operators, not equality operators. +- Inequality operators such as :query:`$ne` or :query:`$nin` are range + operators, not equality operators. -:query:`$regex` is a range operator. +- :query:`$regex` is a range operator. -:query:`$in` can be an equality operator or a range operator. -When :query:`$in` is used alone, it is an equality operator that -does a series of equality matches. :query:`$in` acts like a range -operator when it is used with ``.sort()``. +- :query:`$in` can be an equality operator or a range operator. + + - When ``$in`` is used alone, it is an equality operator that performs a + series of equality matches. + - When ``$in`` is used with ``.sort()``, ``$in`` can act like a range + operator. Example ------- diff --git a/source/tutorial/expire-data.txt b/source/tutorial/expire-data.txt index 124c5f374bb..8d45ddf233a 100644 --- a/source/tutorial/expire-data.txt +++ b/source/tutorial/expire-data.txt @@ -303,37 +303,39 @@ To avoid problems, either drop or correct any misconfigured TTL indexes. .. code-block:: javascript function getNaNIndexes() { - const nan_index = []; - - const dbs = db.adminCommand({ listDatabases: 1 }).databases; - - dbs.forEach((d) => { - const listCollCursor = db - .getSiblingDB(d.name) - .runCommand({ listCollections: 1 }).cursor; - - const collDetails = { - db: listCollCursor.ns.split(".$cmd")[0], - colls: listCollCursor.firstBatch.map((c) => c.name), - }; - - collDetails.colls.forEach((c) => - db - .getSiblingDB(collDetails.db) - .getCollection(c) - .getIndexes() - .forEach((entry) => { - if (Object.is(entry.expireAfterSeconds, NaN)) { - nan_index.push({ ns: `${collDetails.db}.${c}`, index: entry }); - } - }) - ); - }); - - return nan_index; + const nan_index = []; + + const dbs = db.adminCommand({ listDatabases: 1 }).databases; + + dbs.forEach((d) => { + if (d.name != 'local') { + const listCollCursor = db + .getSiblingDB(d.name) + .runCommand({ listCollections: 1 }).cursor; + + const collDetails = { + db: listCollCursor.ns.split(".$cmd")[0], + colls: listCollCursor.firstBatch.map((c) => c.name), + }; + + collDetails.colls.forEach((c) => + db + .getSiblingDB(collDetails.db) + .getCollection(c) + .getIndexes() + .forEach((entry) => { + if (Object.is(entry.expireAfterSeconds, NaN)) { + nan_index.push({ ns: `${collDetails.db}.${c}`, index: entry }); + } + }) + ); + } + }); + + return nan_index; }; - - getNaNIndexes(); + + getNaNIndexes(); .. step:: Correct misconfigured indexes. @@ -343,4 +345,3 @@ To avoid problems, either drop or correct any misconfigured TTL indexes. As an alternative, you can :dbcommand:`drop ` any misconfigured TTL indexes and recreate them later using the :dbcommand:`createIndexes` command. - diff --git a/source/tutorial/insert-documents.txt b/source/tutorial/insert-documents.txt index 003bec206d2..289c40d4094 100644 --- a/source/tutorial/insert-documents.txt +++ b/source/tutorial/insert-documents.txt @@ -210,7 +210,7 @@ Insert a Single Document .. tab:: :tabid: php - :phpmethod:`MongoDB\\Collection::insertOne() ` + :phpmethod:`MongoDB\\Collection::insertOne() ` inserts a *single* :ref:`document` into a collection. @@ -346,11 +346,11 @@ Insert a Single Document :tabid: php Upon successful insert, the - :phpmethod:`insertOne() ` + :phpmethod:`insertOne() ` method returns an instance of :phpclass:`MongoDB\\InsertOneResult ` whose - :phpmethod:`getInsertedId() ` + :phpmethod:`getInsertedId() ` method returns the ``_id`` of the newly inserted document. .. tab:: @@ -500,7 +500,7 @@ upper-right to set the language of the examples on this page. .. tab:: :tabid: php - :phpmethod:`MongoDB\\Collection::insertMany() ` + :phpmethod:`MongoDB\\Collection::insertMany() ` can insert *multiple* :ref:`documents ` into a collection. Pass an array of documents to the method. @@ -640,12 +640,12 @@ upper-right to set the language of the examples on this page. :tabid: php Upon successful insert, the - :phpmethod:`insertMany() ` + :phpmethod:`insertMany() ` method returns an instance of :phpclass:`MongoDB\\InsertManyResult ` whose - :phpmethod:`getInsertedIds() ` + :phpmethod:`getInsertedIds() ` method returns the ``_id`` of each newly inserted document. To retrieve the inserted documents, :ref:`query the collection @@ -810,9 +810,9 @@ requested from MongoDB for write operations. For details, see .. seealso:: - - :phpmethod:`MongoDB\\Collection::insertOne() ` + - :phpmethod:`MongoDB\\Collection::insertOne() ` - - :phpmethod:`MongoDB\\Collection::insertMany() ` + - :phpmethod:`MongoDB\\Collection::insertMany() ` - :ref:`additional-inserts` diff --git a/source/tutorial/manage-indexes.txt b/source/tutorial/manage-indexes.txt index 37652323b05..01cd83027b8 100644 --- a/source/tutorial/manage-indexes.txt +++ b/source/tutorial/manage-indexes.txt @@ -45,6 +45,8 @@ To learn how to remove an index in |compass|, see :compass:`Manage Indexes in Co .. .. include:: /includes/driver-remove-indexes-tabs.rst +.. _manage-indexes-modify: + Modify an Index --------------- diff --git a/source/tutorial/manage-the-database-profiler.txt b/source/tutorial/manage-the-database-profiler.txt index e6a04225b1f..19e802b5aa2 100644 --- a/source/tutorial/manage-the-database-profiler.txt +++ b/source/tutorial/manage-the-database-profiler.txt @@ -16,6 +16,7 @@ The database profiler collects detailed information about :ref:`database-commands` executed against a running :binary:`~bin.mongod` instance. This includes CRUD operations as well as configuration and administration commands. + The profiler writes all the data it collects to a :data:`system.profile <.system.profile>` collection, a :doc:`capped collection ` in each profiled @@ -30,8 +31,8 @@ levels `. When enabled, profiling has an effect on database performance and disk use. See :ref:`Database Profiler Overhead` for more information. -This document outlines a number of key administration options for the -database profiler. For additional related information, see: +This page shows important administration options for the +database profiler. For additional information, see: - :ref:`profiler` - :ref:`Profile Command ` @@ -56,31 +57,32 @@ Enable and Configure Database Profiling You can enable database profiling for :binary:`~bin.mongod` instances. -This section uses :binary:`~bin.mongosh` helper -:method:`db.setProfilingLevel()` helper to enable profiling. For -instructions using the driver, see your :driver:`driver -documentation `. +This section shows how you use the :binary:`~bin.mongosh` helper method +:method:`db.setProfilingLevel()` to enable profiling. To use a driver +method instead, see the :api:`driver documentation <>`. -When you enable profiling for a :binary:`~bin.mongod` instance, you set +To enable profiling for a :binary:`~bin.mongod` instance, set the :ref:`profiling level ` to a value -greater than 0. The profiler records data in the :data:`system.profile +greater than ``0``. The profiler records data in the :data:`system.profile <.system.profile>` collection. MongoDB creates the :data:`system.profile <.system.profile>` collection in a database after you enable profiling for that database. To enable profiling and set the profiling level, pass the profiling level to the :method:`db.setProfilingLevel()` helper. For example, to -enable profiling for all database operations, consider the following -operation in :binary:`~bin.mongosh`: +enable profiling for all database operations for the currently connected +database, run this operation in :binary:`~bin.mongosh`: .. code-block:: javascript db.setProfilingLevel(2) -The shell returns a document showing the *previous* level of profiling. -The ``"ok" : 1`` key-value pair indicates the operation succeeded: +The shell returns the *previous* profiling level in the ``was`` field +and sets the new level. In the following output, the ``"ok" : +1`` key-value pair indicates the operation succeeded: .. code-block:: javascript + :copyable: false { "was" : 0, "slowms" : 100, "sampleRate" : 1.0, "ok" : 1 } @@ -97,7 +99,7 @@ The :ref:`slowms ` and settings are *global*. When set, these settings affect all databases in your process. -When set via the :dbcommand:`profile` command or +When set through the :dbcommand:`profile` command or :method:`db.setProfilingLevel()` shell helper method, :ref:`profiling level ` and :ref:`filter ` settings are set at the *database* @@ -111,7 +113,7 @@ Specify the Threshold for Slow Operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default, the slow operation threshold is 100 milliseconds. To change -the slow operation threshold, specify the desired threshold value in +the slow operation threshold, specify the required threshold value in one of the following ways: - Set the value of ``slowms`` using the :dbcommand:`profile` command or @@ -122,37 +124,38 @@ one of the following ways: - Set the value of :setting:`~operationProfiling.slowOpThresholdMs` in a :ref:`configuration file `. -For example, the following code sets the profiling level for the -current :binary:`~bin.mongod` instance to ``1`` and sets the slow -operation threshold for the :binary:`~bin.mongod` instance to 20 +The following example sets the profiling level for the +currently connected database to ``1`` and sets the slow +operation threshold for the :binary:`~bin.mongod` instance to ``20`` milliseconds: .. code-block:: javascript - db.setProfilingLevel(1, { slowms: 20 }) + db.setProfilingLevel( 1, { slowms: 20 } ) -Profiling level of ``1`` will profile operations slower than the -threshold. +A profiling level of ``1`` causes the profiler to record operations +slower than the ``slowms`` threshold. .. important:: + The slow operation threshold applies to all databases in a :binary:`~bin.mongod` instance. It is used by both the database profiler and the diagnostic log and should be set to the highest useful value to avoid performance degradation. -Starting in MongoDB 4.0, you can use :method:`db.setProfilingLevel()` +You can use :method:`db.setProfilingLevel()` to configure ``slowms`` and ``sampleRate`` for :binary:`~bin.mongos`. For the :binary:`~bin.mongos`, the ``slowms`` and ``sampleRate`` configuration settings only affect the diagnostic log and not the profiler since profiling is not available on :binary:`~bin.mongos`. [#mongos-systemlog]_ -For example, the following sets a :binary:`~bin.mongos` instance's slow -operation threshold for logging slow operations: +The following example sets a :binary:`~bin.mongos` instance's slow +operation threshold for logging slow operations to ``20``: .. code-block:: javascript - db.setProfilingLevel(0, { slowms: 20 }) + db.setProfilingLevel( 0, { slowms: 20 } ) .. include:: /includes/extracts/4.2-changes-log-query-shapes-plan-cache-key.rst @@ -161,7 +164,7 @@ operation threshold for logging slow operations: Profile a Random Sample of Slow Operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To profile only a randomly sampled subset of all *slow* operations , +To profile only a randomly sampled subset of all *slow* operations, specify the desired sample rate in one of the following ways: [#slow-oplogs]_ @@ -176,25 +179,25 @@ specify the desired sample rate in one of the following ways: :ref:`configuration file `. By default, ``sampleRate`` is set to ``1.0``, meaning all *slow* -operations are profiled. When ``sampleRate`` is set between 0 and 1, -databases with profiling level ``1`` will only profile a randomly sampled -percentage of *slow* operations according to ``sampleRate``. +operations are profiled. When ``sampleRate`` is set between ``0`` and ``1``, +databases with a profiling level ``1`` only profile a randomly sampled +percentage of *slow* operations based on ``sampleRate``. -For example, the following method sets the profiling level for the -:binary:`~bin.mongod` to ``1`` and sets the profiler to sample 42% of -all *slow* operations: +The following example sets the profiling level for the currently +connected database to ``1`` and sets the profiler to sample 42% of all +*slow* operations: .. code-block:: javascript - db.setProfilingLevel(1, { sampleRate: 0.42 }) + db.setProfilingLevel( 1, { sampleRate: 0.42 } ) The modified sample rate value also applies to the system log. -Starting in MongoDB 4.0, you can use :method:`db.setProfilingLevel()` +You can use :method:`db.setProfilingLevel()` to configure ``slowms`` and ``sampleRate`` for :binary:`~bin.mongos`. For the :binary:`~bin.mongos`, the ``slowms`` and ``sampleRate`` configuration settings only affect the diagnostic log -and not the profiler since profiling is not available on +and not the profiler because profiling isn't available on :binary:`~bin.mongos`. [#mongos-systemlog]_ For example, the following sets a :binary:`~bin.mongos` instance's @@ -202,7 +205,7 @@ sampling rate for logging slow operations: .. code-block:: javascript - db.setProfilingLevel(0, { sampleRate: 0.42 }) + db.setProfilingLevel( 0, { sampleRate: 0.42 } ) .. important:: @@ -221,7 +224,7 @@ You can set a filter to control which operations are profiled and logged. You can set the profiling filter in one of the following ways: - Set the value of ``filter`` using the :dbcommand:`profile` command - or :method:`db.setProfilingLevel()` shell helper method. + or the :method:`db.setProfilingLevel()` shell helper method. - Set the value of :setting:`~operationProfiling.filter` in a :ref:`configuration file `. @@ -240,8 +243,8 @@ available on :binary:`~bin.mongos`. ` options do not affect the diagnostic log or the profiler. -For example, the following :method:`db.setProfilingLevel()` method sets -for a :binary:`~bin.mongod` instance: +The following :method:`db.setProfilingLevel()` example sets +the profile level for the currently connected database: - the :ref:`profiling level ` to ``2``, @@ -259,8 +262,8 @@ for a :binary:`~bin.mongod` instance: Check Profiling Level ~~~~~~~~~~~~~~~~~~~~~ -To view the :ref:`profiling level `, issue -the following from :binary:`~bin.mongosh`: +To view the :ref:`profiling level `, run +the following example in :binary:`~bin.mongosh`: .. code-block:: javascript @@ -283,17 +286,23 @@ that should be profiled. Disable Profiling ~~~~~~~~~~~~~~~~~ -To disable profiling, use the following helper in +To disable profiling, run the following example in :binary:`~bin.mongosh`: .. code-block:: javascript db.setProfilingLevel(0) +.. note:: + + Disabling profiling can improve database performance and lower disk + use. For more information, see :ref:`Database Profiler + Overhead` . + Enable Profiling for an Entire ``mongod`` Instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For development purposes in testing environments, you can enable +For development and test environments, you can enable database profiling for an entire :binary:`~bin.mongod` instance. The profiling level applies to all databases provided by the :binary:`~bin.mongod` instance. @@ -313,10 +322,10 @@ This sets the profiling level to ``1``, defines slow operations as those that last longer than ``15`` milliseconds, and specifies that only 50% of *slow* operations should be profiled. [#slow-oplogs]_ -The ``slowms`` and ``slowOpSampleRate`` also affect which operations -are recorded to the diagnostic log when :parameter:`logLevel` is -set to ``0``. The ``slowms`` and ``slowOpSampleRate`` are also -available to configure diagnostic logging for :binary:`~bin.mongos`. [#slow-oplogs]_ +The ``slowms`` and ``slowOpSampleRate`` also affect the operations that +are recorded in the diagnostic log when :parameter:`logLevel` is set to +``0``. The ``slowms`` and ``slowOpSampleRate`` are also available to +configure diagnostic logging for :binary:`~bin.mongos`. [#slow-oplogs]_ .. seealso:: @@ -365,8 +374,8 @@ operation, including reads, on the :data:`system.profile Example Profiler Data Queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This section displays example queries to the :data:`system.profile <.system.profile>` -collection. For an explanation of the query output, see +This section shows example queries on the :data:`system.profile +<.system.profile>` collection. For query output details, see :doc:`/reference/database-profiler`. To return the most recent 10 log entries in the :data:`system.profile <.system.profile>` @@ -391,24 +400,23 @@ the following. This example returns operations in the ``mydb`` database's db.system.profile.find( { ns : 'mydb.test' } ).pretty() -To return operations slower than ``5`` milliseconds, run a query -similar to the following: +To return operations that take longer than 5 milliseconds to complete, +run: .. code-block:: javascript db.system.profile.find( { millis : { $gt : 5 } } ).pretty() -To return information from a certain time range, run a query similar to -the following: +To return operations for a specific time range, run: .. code-block:: javascript - db.system.profile.find({ - ts : { - $gt: new ISODate("2012-12-09T03:00:00Z"), - $lt: new ISODate("2012-12-09T03:40:00Z") - } - }).pretty() + db.system.profile.find( { + ts : { + $gt: new ISODate("2012-12-09T03:00:00Z"), + $lt: new ISODate("2012-12-09T03:40:00Z") + } + } ).pretty() The following example looks at the time range, suppresses the ``user`` field from the output to make it easier to read, and sorts the results @@ -416,20 +424,20 @@ by how long each operation took to run: .. code-block:: javascript - db.system.profile.find({ - ts : { - $gt: new ISODate("2011-07-12T03:00:00Z"), - $lt: new ISODate("2011-07-12T03:40:00Z") - } - }, { user: 0 }).sort( { millis: -1 } ) + db.system.profile.find( { + ts : { + $gt: new ISODate("2011-07-12T03:00:00Z"), + $lt: new ISODate("2011-07-12T03:40:00Z") + } + }, { user: 0 } ).sort( { millis: -1 } ) Show the Five Most Recent Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On a database that has profiling enabled, the ``show profile`` helper in :binary:`~bin.mongosh` displays the 5 most recent operations -that took at least 1 millisecond to execute. Issue ``show profile`` -from :binary:`~bin.mongosh`, as follows: +that took at least 1 millisecond to execute. Run ``show profile`` +from :binary:`~bin.mongosh`: .. code-block:: javascript @@ -444,11 +452,16 @@ When enabled, profiling has an effect on database performance, especially when configured with a :ref:`profiling level` of 2, or when using a low :ref:`threshold` value -with a profiling level of 1. Profiling also consumes disk space, as it -logs to both the :data:`system.profile <.system.profile>` -collection and also the MongoDB :option:`logfile `. -Carefully consider any performance and security implications before -configuring and enabling the profiler on a production deployment. +with a profiling level of 1. + +Profiling also uses disk space, because profiling +writes logs to the :data:`system.profile <.system.profile>` +collection and the MongoDB :option:`logfile `. + +.. warning:: + + Consider performance and storage implications before + you enable the profiler in a production deployment. The ``system.profile`` Collection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/tutorial/project-fields-from-query-results.txt b/source/tutorial/project-fields-from-query-results.txt index b626374eb1f..88b224435b0 100644 --- a/source/tutorial/project-fields-from-query-results.txt +++ b/source/tutorial/project-fields-from-query-results.txt @@ -88,7 +88,7 @@ Return All Fields in Matching Documents - id: php content: | If you do not specify a :term:`projection` document, the - :phpmethod:`find() ` + :phpmethod:`find() ` method returns all fields in the matching documents. - id: perl @@ -412,6 +412,96 @@ Project Specific Array Elements in the Returned Array ``include("instock.0")`` projection will *not* project the array with the first element. +Project Fields with Aggregation Expressions +------------------------------------------- + +You can specify :ref:`aggregation expressions ` +in a query projection. Aggregation expressions let you project new +fields and modify the values of existing fields. + +For example, the following operation uses aggregation expressions to +override the value of the ``status`` field, and project new fields +``area`` and ``reportNumber``. + +.. note:: + + The following example uses MongoDB Shell syntax. For driver examples + of projection with aggregation, see your :driver:`driver + documentation `. + +.. io-code-block:: + :copyable: true + + .. input:: + :language: javascript + + db.inventory.find( + { }, + { + _id: 0, + item: 1, + status: { + $switch: { + branches: [ + { + case: { $eq: [ "$status", "A" ] }, + then: "Available" + }, + { + case: { $eq: [ "$status", "D" ] }, + then: "Discontinued" + }, + ], + default: "No status found" + } + }, + area: { + $concat: [ + { $toString: { $multiply: [ "$size.h", "$size.w" ] } }, + " ", + "$size.uom" + ] + }, + reportNumber: { $literal: 1 } + } + ) + + .. output:: + :language: javascript + + [ + { + item: 'journal', + status: 'Available', + area: '294 cm', + reportNumber: 1 + }, + { + item: 'planner', + status: 'Discontinued', + area: '685.5 cm', + reportNumber: 1 + }, + { + item: 'notebook', + status: 'Available', + area: '93.5 in', + reportNumber: 1 + }, + { + item: 'paper', + status: 'Discontinued', + area: '93.5 in', + reportNumber: 1 + }, + { + item: 'postcard', + status: 'Available', + area: '152.5 cm', + reportNumber: 1 + } + ] + .. _project-fields-atlas-ui: Project Fields to Return from a Query with {+atlas+} diff --git a/source/tutorial/query-documents.txt b/source/tutorial/query-documents.txt index a0994ff3f66..fca578db560 100644 --- a/source/tutorial/query-documents.txt +++ b/source/tutorial/query-documents.txt @@ -92,7 +92,7 @@ the following SQL statement: - id: php content: | For more information on the syntax of the method, see - :phpmethod:`find() `. + :phpmethod:`find() `. - id: perl content: | @@ -354,7 +354,7 @@ Cursor - id: php content: | - The :phpmethod:`MongoDB\\Collection::find() ` + The :phpmethod:`MongoDB\\Collection::find() ` method returns a :doc:`cursor ` to the matching documents. See the MongoDB PHP Library documentation for @@ -533,7 +533,7 @@ Additional Methods and Options The following methods can also read documents from a collection: - - :phpmethod:`MongoDB\\Collection::findOne() ` + - :phpmethod:`MongoDB\\Collection::findOne() ` - In :ref:`aggregation pipeline `, the :pipeline:`$match` pipeline stage provides access to MongoDB @@ -541,12 +541,12 @@ Additional Methods and Options :ref:`aggregation example `. .. note:: - The :phpmethod:`MongoDB\\Collection::findOne() ` + The :phpmethod:`MongoDB\\Collection::findOne() ` method also performs a read operation to return a single document. Internally, the - :phpmethod:`MongoDB\\Collection::findOne() ` + :phpmethod:`MongoDB\\Collection::findOne() ` method is the - :phpmethod:`MongoDB\\Collection::find() ` + :phpmethod:`MongoDB\\Collection::find() ` method with a limit of 1. - id: perl diff --git a/source/tutorial/query-for-null-fields.txt b/source/tutorial/query-for-null-fields.txt index 7fe6ad2fd03..9e3f6297dc1 100644 --- a/source/tutorial/query-for-null-fields.txt +++ b/source/tutorial/query-for-null-fields.txt @@ -6,12 +6,12 @@ ================================ Query for Null or Missing Fields ================================ - + .. default-domain:: mongodb .. facet:: :name: programming_language - :values: shell, csharp, go, java, javascript/typescript, perl, php, python, ruby, scala + :values: shell, csharp, go, java, javascript/typescript, php, python, ruby, scala .. meta:: :keywords: java sync, java async, reactive streams, motor, code example, node.js, compass @@ -36,7 +36,7 @@ Different query operators in MongoDB treat ``null`` values differently. .. |query_operations| replace:: operations that query for ``null`` values -.. include:: /includes/driver-examples/driver-example-query-intro.rst +.. include:: /includes/driver-examples/driver-example-query-intro-no-perl.rst .. tabs-drivers:: @@ -53,12 +53,6 @@ Different query operators in MongoDB treat ``null`` values differently. Use ``None`` with the Motor driver to query for ``null`` or missing fields in MongoDB. - - id: perl - content: | - .. important:: - Use ``undef`` with the MongoDB Perl driver to - query for ``null`` or missing fields in MongoDB. - - id: ruby content: | .. important:: @@ -143,12 +137,6 @@ Equality Filter contain the ``item`` field whose value is ``null`` *or* that do not contain the ``item`` field. - - id: perl - content: | - The ``{ item => undef }`` query matches documents that either - contain the ``item`` field whose value is ``null`` *or* that - do not contain the ``item`` field. - - id: ruby content: | The ``{ item => nil }`` query matches documents that either @@ -178,6 +166,95 @@ Equality Filter The query returns both documents in the collection. +Non-Equality Filter +------------------- + +To query for fields that **exist** and are **not null**, use the :query:`$ne` +operator. The ``{ item : { $ne : null } }`` query matches documents where the +``item`` field exists *and* has a non-null value. + +.. tabs-drivers:: + + tabs: + - id: shell + content: | + .. code-block:: sh + + db.inventory.find( { item: { $ne : null } } ) + + - id: compass + content: | + .. code-block:: javascript + + { item: { $ne : null } } + + - id: python + content: | + .. code-block:: python + + cursor = db.inventory.find( { "item": { "$ne": None } } ) + + - id: motor + content: | + .. code-block:: python + + cursor = db.inventory.find( { "item": { "$ne": None } } ) + + - id: java-sync + content: | + .. code-block:: java + + collection.find($ne("item", null)); + + - id: java-async + content: | + .. code-block:: java + + db.inventory.find( { item: { $ne : nul l} } ) + + - id: nodejs + content: | + .. code-block:: javascript + + const cursor = db.collection('inventory') + .find({ item: { $ne : null } + }); + + - id: php + content: | + .. code-block:: php + + $cursor = $db->inventory->find(['item' => ['$ne' => null ]]); + + - id: ruby + content: | + .. code-block:: ruby + + client[:inventory].find(item: { '$ne' => nil }) + + - id: scala + content: | + .. code-block:: scala + + collection.find($ne("item", null)); + + - id: csharp + content: | + .. code-block:: csharp + + var filter = Builders.Filter.Ne("item", BsonNull.Value); + var result = collection.Find(filter).ToList(); + + - id: go + content: | + .. code-block:: go + + cursor, err := coll.Find( + context.TODO(), + bson.D{ + {"item", bson.D{"$ne": nil}}, + }) + Type Check ---------- @@ -240,13 +317,6 @@ Type Check ``null``; i.e. the value of the ``item`` field is of :ref:`BSON Type ` ``Null`` (BSON Type 10): - - id: perl - content: | - The ``{ item => { $type => 10 } }`` query matches *only* - documents that contain the ``item`` field whose value is - ``null``; i.e. the value of the ``item`` field is of - :ref:`BSON Type ` ``Null`` (BSON Type 10): - - id: ruby content: | The ``{ item => { $type => 10 } }`` query matches *only* @@ -330,11 +400,6 @@ field. [#type0]_ The ``[ item => [ $exists => false ] ]`` query matches documents that do not contain the ``item`` field: - - id: perl - content: | - The ``{ item => { $exists => false } }`` query matches documents - that do not contain the ``item`` field: - - id: ruby content: | The ``{ item => { $exists => false } }`` query matches documents diff --git a/source/tutorial/remove-documents.txt b/source/tutorial/remove-documents.txt index 70291081144..a21c674207b 100644 --- a/source/tutorial/remove-documents.txt +++ b/source/tutorial/remove-documents.txt @@ -116,8 +116,8 @@ You can delete documents in MongoDB using the following methods: This page uses the following `MongoDB PHP Library `_ methods: - - :phpmethod:`MongoDB\\Collection::deleteMany() ` - - :phpmethod:`MongoDB\\Collection::deleteOne() ` + - :phpmethod:`MongoDB\\Collection::deleteMany() ` + - :phpmethod:`MongoDB\\Collection::deleteOne() ` .. include:: /includes/driver-examples/examples-intro.rst @@ -249,7 +249,7 @@ Delete All Documents To delete all documents from a collection, pass an empty :ref:`filter` document ``[]`` to the - :phpmethod:`MongoDB\\Collection::deleteMany() ` + :phpmethod:`MongoDB\\Collection::deleteMany() ` method. .. include:: /includes/fact-delete-all-inventory.rst @@ -419,7 +419,7 @@ Delete All Documents that Match a Condition To delete all documents that match a deletion criteria, pass a :ref:`filter ` parameter to the - :phpmethod:`deleteMany() ` + :phpmethod:`deleteMany() ` method. .. include:: /includes/fact-remove-condition-inv-example.rst @@ -601,7 +601,7 @@ Delete Only One Document that Matches a Condition To delete at most a single document that matches a specified filter (even though multiple documents may match the specified filter) use the - :phpmethod:`MongoDB\\Collection::deleteOne() ` + :phpmethod:`MongoDB\\Collection::deleteOne() ` method. .. include:: /includes/fact-remove-one-condition-inv-example.rst @@ -823,9 +823,9 @@ requested from MongoDB for write operations. For details, see content: | .. seealso:: - - :phpmethod:`MongoDB\\Collection::deleteMany() ` + - :phpmethod:`MongoDB\\Collection::deleteMany() ` - - :phpmethod:`MongoDB\\Collection::deleteOne() ` + - :phpmethod:`MongoDB\\Collection::deleteOne() ` - :ref:`additional-deletes` diff --git a/source/tutorial/update-documents.txt b/source/tutorial/update-documents.txt index b711ad2e3aa..0224ed3fe8e 100644 --- a/source/tutorial/update-documents.txt +++ b/source/tutorial/update-documents.txt @@ -151,11 +151,11 @@ upper-right to set the language of the following examples. This page uses the following `MongoDB PHP Library `_ methods: - - :phpmethod:`MongoDB\\Collection::updateOne() ` + - :phpmethod:`MongoDB\\Collection::updateOne() ` - - :phpmethod:`MongoDB\\Collection::updateMany() ` + - :phpmethod:`MongoDB\\Collection::updateMany() ` - - :phpmethod:`MongoDB\\Collection::replaceOne() ` + - :phpmethod:`MongoDB\\Collection::replaceOne() ` |populate-inventory| @@ -579,7 +579,7 @@ Update a Single Document :tabid: php The following example uses the :phpmethod:`updateOne() - ` method on the + ` method on the ``inventory`` collection to update the *first* document where ``item`` equals ``"paper"``: @@ -695,7 +695,7 @@ Update Multiple Documents :tabid: php The following example uses the :phpmethod:`updateMany() - ` method on the + ` method on the ``inventory`` collection to update all documents where ``qty`` is less than ``50``: @@ -817,7 +817,7 @@ Replace a Document To replace the entire content of a document except for the ``_id`` field, pass an entirely new document as the second argument to :phpmethod:`replaceOne() - `. + `. .. include:: /includes/fact-update-replace-example.rst @@ -1059,11 +1059,11 @@ Upsert Option :tabid: php If :phpmethod:`updateOne() - `, + `, :phpmethod:`updateMany() - `, or + `, or :phpmethod:`replaceOne() - ` includes ``upsert => + ` includes ``upsert => true`` **and** no documents match the specified filter, then the operation creates a new document and inserts it. If there are matching documents, then the operation modifies or replaces the @@ -1256,11 +1256,11 @@ requested from MongoDB for write operations. For details, see .. seealso:: - - :phpmethod:`MongoDB\\Collection::updateOne() ` + - :phpmethod:`MongoDB\\Collection::updateOne() ` - - :phpmethod:`MongoDB\\Collection::updateMany() ` + - :phpmethod:`MongoDB\\Collection::updateMany() ` - - :phpmethod:`MongoDB\\Collection::replaceOne() ` + - :phpmethod:`MongoDB\\Collection::replaceOne() ` - :ref:`additional-updates` diff --git a/source/tutorial/upgrade-cluster-to-ssl.txt b/source/tutorial/upgrade-cluster-to-ssl.txt index 5fdca5855f2..0b374bfa9ac 100644 --- a/source/tutorial/upgrade-cluster-to-ssl.txt +++ b/source/tutorial/upgrade-cluster-to-ssl.txt @@ -61,7 +61,7 @@ process. .. code-block:: bash - mongod --replSet --tlsMode allowTLS --tlsCertificateKeyFile --sslCAFile + mongod --replSet --tlsMode allowTLS --tlsCertificateKeyFile --tlsCAFile - id: config name: Configuration File Options diff --git a/source/tutorial/upgrade-revision.txt b/source/tutorial/upgrade-revision.txt new file mode 100644 index 00000000000..3a63b383477 --- /dev/null +++ b/source/tutorial/upgrade-revision.txt @@ -0,0 +1,224 @@ +.. _upgrade-to-latest-revision: + +============================================== +Upgrade to the Latest Patch Release of MongoDB +============================================== + +.. default-domain:: mongodb + +.. contents:: On this page + :local: + :backlinks: none + :depth: 2 + :class: singlecol + +MongoDB version numbers have the form ``X.Y.Z`` where ``Z`` refers to +the patch release number. Patch releases provide security patches, bug +fixes, and new or changed features that generally do not contain any +backward breaking changes. Always upgrade to the latest patch release in +your release series. + +For more information on versioning, see :ref:`release-version-numbers`. + +About this Task +--------------- + +This page describes upgrade procedures for the MongoDB +{+latest-lts-version+} release series. To upgrade a different release +series, refer to the corresponding version of the manual. + +.. _upgrade-options: + +Before You Begin +---------------- + +Review the following sections to ensure that your deployment is ready to +be upgraded. + +Backup +~~~~~~ + +Ensure you have an up-to-date backup of your data set. See +:ref:`backup-methods`. + +Compatibility Considerations +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Consult the following documents for any special considerations or +compatibility issues specific to your MongoDB release: + +- :ref:`Release notes ` + +- :driver:`Driver documentation ` + +Maintenance Window +~~~~~~~~~~~~~~~~~~ + +If your installation includes :term:`replica sets `, set +the upgrade to occur during a predefined maintenance window. + +Staging Environment Check +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before you upgrade a production environment, use the procedures in this +document to upgrade a *staging* environment that reproduces your +production environment. Ensure that your production configuration is +compatible with all changes before upgrading. + +.. _upgrade-procedure: + +Steps +----- + +Upgrade each :binary:`~bin.mongod` and :binary:`~bin.mongos` binary +separately. Follow this upgrade procedure: + +#. For deployments that use authentication, first upgrade all of your + MongoDB Drivers. To upgrade, see the + :driver:`documentation for your driver `. + +#. Upgrade any standalone instances. See + :ref:`upgrade-mongodb-instance`. + +#. Upgrade any replica sets that are not part of a sharded cluster, as + described in :ref:`upgrade-replica-set`. + +#. Upgrade sharded clusters, as described in + :ref:`upgrade-sharded-cluster`. + +.. _upgrade-mongodb-instance: + +Upgrade a MongoDB Instance +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To upgrade a {+latest-lts-version+} :binary:`~bin.mongod` or +:binary:`~bin.mongos` instance, use one of these approaches: + +- Upgrade the instance using the operating system's package management + tool and the official MongoDB packages. This is the preferred + approach. See :doc:`/installation`. + +- Upgrade the instance by replacing the existing binaries with new + binaries. See :ref:`upgrade-replace-binaries`. + +.. _upgrade-replace-binaries: + +Replace the Existing Binaries +````````````````````````````` + +This section describes how to upgrade MongoDB by replacing the existing +binaries. The preferred approach to an upgrade is to use the operating +system's package management tool and the official MongoDB packages, as +described in :doc:`/installation`. + +To upgrade a :binary:`~bin.mongod` or :binary:`~bin.mongos` instance by +replacing the existing binaries: + +1. Download the binaries for the latest MongoDB patch release from the + `MongoDB Download Page`_ and store the binaries in a temporary + location. The binaries download as compressed files that uncompress + to the directory structure used by the MongoDB installation. + +#. Shutdown the instance. + +#. Replace the existing MongoDB binaries with the downloaded binaries. + +#. Make any required configuration file changes. + +#. Restart the instance. + +.. _`MongoDB Download Page`: https://www.mongodb.com/try/download/community?tck=docs_server + +.. _upgrade-replica-set: + +Upgrade Replica Sets +~~~~~~~~~~~~~~~~~~~~ + +To upgrade a {+latest-lts-version+} replica set, upgrade each member +individually, starting with the :term:`secondaries ` and +finishing with the :term:`primary`. Plan the upgrade during a predefined +maintenance window. + +.. include:: /includes/upgrade-downgrade-replica-set.rst + +Upgrade Secondaries +``````````````````` + +Upgrade each secondary separately as follows: + +1. Upgrade the secondary's :binary:`~bin.mongod` binary by following the + instructions in :ref:`upgrade-mongodb-instance`. + +#. After upgrading a secondary, wait for the secondary to recover to + the ``SECONDARY`` state before upgrading the next instance. To + check the member's state, issue :method:`rs.status()` in + :binary:`~bin.mongosh`. + + The secondary may briefly go into ``STARTUP2`` or ``RECOVERING``. + This is normal. Make sure to wait for the secondary to fully recover + to ``SECONDARY`` before you continue the upgrade. + +Upgrade the Primary +``````````````````` + +1. Step down the primary to initiate the normal :ref:`failover + ` procedure. Using one of the following: + + - The :method:`rs.stepDown()` helper in :binary:`~bin.mongosh`. + + - The :dbcommand:`replSetStepDown` database command. + + During failover, the set cannot accept writes. Typically this takes + 10-20 seconds. Plan the upgrade during a predefined maintenance + window. + + .. note:: Stepping down the primary is preferable to directly + *shutting down* the primary. Stepping down expedites the + failover procedure. + +#. Once the primary has stepped down, call the :method:`rs.status()` + method from :binary:`~bin.mongosh` until you see that another + member has assumed the ``PRIMARY`` state. + +#. Shut down the original primary and upgrade its instance by + following the instructions in :ref:`upgrade-mongodb-instance`. + +.. _upgrade-sharded-cluster: + +Upgrade Sharded Clusters +~~~~~~~~~~~~~~~~~~~~~~~~ + +To upgrade a {+latest-lts-version+} sharded cluster: + +1. Disable the cluster's balancer as described in + :ref:`sharding-balancing-disable-temporarily`. + +#. Upgrade the :ref:`config servers `. + + To upgrade the config server replica set, use the procedures in + :ref:`upgrade-replica-set`. + +#. Upgrade each shard. + + - If a shard is a replica set, upgrade the shard using the + procedure titled :ref:`upgrade-replica-set`. + + - If a shard is a standalone instance, upgrade the shard using the + procedure titled + :ref:`upgrade-mongodb-instance`. + +#. Once the config servers and the shards have been upgraded, upgrade + each :binary:`~bin.mongos` instance by following the instructions in + :ref:`upgrade-mongodb-instance`. You can upgrade the + :binary:`~bin.mongos` instances in any order. + +#. Re-enable the balancer, as described in :ref:`sharding-balancing-re-enable`. + +Learn More +---------- + +- :ref:`production-notes` + +- :ref:`sharding-manage-shards` + +- :ref:`replica-set-sync`