diff --git a/draft/reserved-keywords.txt b/draft/reserved-keywords.txt new file mode 100644 index 00000000000..ff714e66571 --- /dev/null +++ b/draft/reserved-keywords.txt @@ -0,0 +1,14 @@ +.. _reserved_keywords: + +========================= +MongoDB Reserved Keywords +========================= + +.. default-domain:: mongodb + +stats + + In the :program:`mongo` shell, the collection name ``stats`` + is reserved by the :method:`db.stats()` method. To reference + a collection named ``stats`` in the :program:`mongo` shell you + must use :method:`db.runCommand()`. diff --git a/source/administration/backups.txt b/source/administration/backups.txt index 1d6cfe62fcb..7d2228bfdd5 100644 --- a/source/administration/backups.txt +++ b/source/administration/backups.txt @@ -5,7 +5,7 @@ Backup Strategies for MongoDB Systems .. default-domain:: mongodb Backups are an important part of any operational disaster recovery -plan. A good backup plan must be able to reproducible capture data in +plan. A good backup plan must be able to capture data in a consistent and usable state, and operators must be able to automate both the backup and the recovery operations. Also test all components of the backup system to ensure that you can recover backed up data as @@ -42,7 +42,7 @@ the following factors: substantial system resources. It is important to consider the time of the backup schedule relative to peak usage and maintenance windows. -- System capabilities. Some of the block-level snapshot tools requires +- System capabilities. Some of the block-level snapshot tools require special support on the operating-system or infrastructure level. - Database configuration. :term:`Replication` and :term:`sharding @@ -65,7 +65,7 @@ instances. Creating binary "dumps" of the database using methodologies have advantages and disadvantages: - binary database dumps are comparatively small, because they don't - include index content pre-allocated free space, and :ref:`record + include index content or pre-allocated free space, and :ref:`record padding `. However, it's impossible to capture a copy of a running system that reflects a single moment in time using a binary dump. diff --git a/source/administration/configuration.txt b/source/administration/configuration.txt index b3efd3efacf..5630024b4b0 100644 --- a/source/administration/configuration.txt +++ b/source/administration/configuration.txt @@ -13,9 +13,9 @@ controlling the operation of the database system. This document provides an overview of common configurations and examples of best-practice configurations for common use cases. -While both interfaces provide access the same collection of options +While both interfaces provide access to the same collection of options and settings, this document primarily uses the configuration file -interface. If you run MongoDB using a control script or packaged for +interface. If you run MongoDB using a control script or a package for your operating system, you likely already have a configuration file located at ``/etc/mongodb.conf``. Confirm this by checking the content of the ``/etc/init.d/mongod`` or ``/etc/rc.d/mongod`` script to @@ -99,9 +99,9 @@ following explanation: following the server start operation. - :setting:`journal` is ``true``, which enables :term:`journaling `. - Journaling ensures single instance write-durability. 64-bit builds - of :program:`mongod` enable journaling by default. Thus, this - setting may be redundant. + Journaling ensures single instance write-durability. 64-bit builds + of :program:`mongod` enable journaling by default. Thus, this + setting may be redundant. Given the default configuration, some of these values may be redundant. However, in many situations explicitly stating the @@ -135,13 +135,13 @@ Consider the following explanation for these configuration decisions: servers. At the same time it's important to limit these interfaces to interfaces controlled and protected at the network layer. -- ":setting:`nounixsocket`" is ``true`` which disables the +- ":setting:`nounixsocket`" to ``true`` disables the UNIX Socket, which is otherwise enabled by default. This limits access on the local system. This is desirable when running MongoDB - on with shared access, but in most situations has minimal impact. + on systems with shared access, but in most situations has minimal impact. -- ":setting:`auth`" is ``true`` which enables the authentication - system within MongoDB. If enabled you will need to log in, by +- ":setting:`auth`" is ``true`` enables the authentication + system within MongoDB. If enabled you will need to log in by connecting over the ``localhost`` interface for the first time to create user credentials. @@ -179,9 +179,9 @@ following option: file for the replica set member use to when authenticating to each other. The content of the key file is arbitrary, but must be the same on all members of the :term:`replica set` and :program:`mongos` - instances that connect to the set. The keyfile must be less one + instances that connect to the set. The keyfile must be less than one kilobyte in size and may only contain characters in the base64 set and - file must not have group or "world" permissions on UNIX systems. + the file must not have group or "world" permissions on UNIX systems. .. seealso:: The ":ref:`Replica set Reconfiguration `" section for information regarding @@ -258,7 +258,7 @@ Running Multiple Database Instances on the Same System ------------------------------------------------------ In many cases running multiple instances of :program:`mongod` on a -single system is not recommended, on some types of deployments +single system is not recommended. On some types of deployments [#multimongod]_ and for testing purposes you may need to run more than one :program:`mongod` on a single system. @@ -274,7 +274,7 @@ The :setting:`dbpath` value controls the location of the :program:`mongod` instance's data directory. Ensure that each database has a distinct and well labeled data directory. The :setting:`pidfilepath` controls where :program:`mongod` process -places it's :term:`pid` file. As this tracks the specific +places it's :term:`process id ` file. As this tracks the specific :program:`mongod` file, it is crucial that file be unique and well labeled to make it easy to start and stop these processes. diff --git a/source/administration/import-export.txt b/source/administration/import-export.txt index da62ced399e..187f1202d01 100644 --- a/source/administration/import-export.txt +++ b/source/administration/import-export.txt @@ -23,7 +23,7 @@ with the database itself. :program:`mongod` instance, they can impact the performance of your running database. - Not only do these backup processes create traffic for a running + Not only do these processes create traffic for a running database instance, they also force the database to read all data through memory. When MongoDB reads infrequently used data, it can supplant more frequently accessed data, causing a deterioration in @@ -34,9 +34,9 @@ with the database itself. a superset of :term:`JSON`. Thus, :program:`mongoimport` and :program:`mongoexport` cannot represent :term:`BSON` data accurately in :term:`JSON`. As a result data exported or imported - with these tools may lose some measure of fidelity. See the - ":wiki:`MongoDB Extended JSON `" wiki page for - more information about Use with care. + with these tools may lose some measure of fidelity. See + :doc:`/reference/mongodb-extended-json` for more information about + MongoDB Extended JSON. .. seealso:: See the ":doc:`/administration/backups`" document for more information on backing up MongoDB instances. Additionally, @@ -48,8 +48,8 @@ with the database itself. - :doc:`/reference/mongodump` If you want to transform and process data once you've imported it - in MongoDB consider the topics in :doc:`/aggregation`, including: - + in MongoDB consider the topics in :doc:`/aggregation`, including: + - :doc:`/applications/map-reduce` and - :doc:`/applications/aggregation`. @@ -135,7 +135,7 @@ JSON. Data Import and Export and Backups Operations --------------------------------------------- -For resilient and non-disruptive backups, +For resilient and non-disruptive backups, use a file system or block-level disk snapshot function, such as the methods described in the ":doc:`/administration/backups`" document. The tools and operations discussed provide functionality that's useful in @@ -215,7 +215,7 @@ that it does not interact with your shell environment. The resulting documents will return on standard output. By default, :program:`mongoexport` returns one :term:`JSON document` -per MongoDB document. Specify the +per MongoDB document. Specify the ":option:`--jsonArray `" argument to return the export as a single :term:`JSON` array. Use the ":option:`--csv `" file to return the result in CSV (comma diff --git a/source/administration/journaling.txt b/source/administration/journaling.txt index f7c30cac2a7..a921cfca660 100644 --- a/source/administration/journaling.txt +++ b/source/administration/journaling.txt @@ -49,7 +49,7 @@ To enable journaling, start :program:`mongod` with the :option:`--journal ` command line option. If no journal files exist, when :program:`mongod` starts, it must -preallocates new journal files. During this operation, the +preallocate new journal files. During this operation, the :program:`mongod` is not listening for connections until preallocation completes: for some systems this may take a several minutes. During this period your applications and the :program:`mongo` shell are not @@ -70,13 +70,10 @@ Disable Journaling To disable journaling, start :program:`mongod` with the :option:`--nojournal ` command line option. -To disable journaling, shut down :program:`mongod` cleanly and restart -with :option:`--nojournal `. - Get Commit Acknowledgment ~~~~~~~~~~~~~~~~~~~~~~~~~ -You can get commit acknowledgement with the +You can get commit acknowledgment with the :dbcommand:`getLastError` command and the ``j`` option. For details, see :ref:`write-concern-operation`. diff --git a/source/administration/master-slave.txt b/source/administration/master-slave.txt index cea9b24424f..37d74289822 100644 --- a/source/administration/master-slave.txt +++ b/source/administration/master-slave.txt @@ -124,7 +124,7 @@ you start the :setting:`master` instance, by adding the :program:`mongod`. If you do not specify :option:`--oplogSize `, :program:`mongod` will allocate 5% of available disk space on start up to the oplog, with a -ominimum of 1GB for 64bit machines and 50MB for 32bit machines. +minimum of 1GB for 64bit machines and 50MB for 32bit machines. Run time Master-Slave Configuration ----------------------------------- diff --git a/source/administration/monitoring.txt b/source/administration/monitoring.txt index 7f6a3e4b3a5..b9554b23800 100644 --- a/source/administration/monitoring.txt +++ b/source/administration/monitoring.txt @@ -12,7 +12,7 @@ allow you to diagnose issues as you encounter them, rather than waiting for a crisis or failure. This document provides an overview of the available tools and data -provided by MongoDB as well as introduction to diagnostic strategies, +provided by MongoDB as well as an introduction to diagnostic strategies, and suggestions for monitoring instances in MongoDB's replica sets and sharded clusters. @@ -89,7 +89,7 @@ MongoDB provides a number of commands that return statistics about the state of the MongoDB instance. These data may provide finer granularity regarding the state of the MongoDB instance than the tools above. Consider using their output in scripts and -programs to develop custom alerts, or modifying the behavior of your +programs to develop custom alerts, or to modify the behavior of your application in response to the activity of your instance. ``serverStatus`` @@ -203,7 +203,7 @@ on your own servers, usually open source. - `mikoomi-mongodb `_ - Monitors availability, resource utilization, health, performance and other important metrics. -Also consider `dex `_, and index and +Also consider `dex `_, an index and query analyzing tool for MongoDB that compares MongoDB log files and indexes to make indexing recommendations. @@ -233,10 +233,10 @@ Process Logging During normal operation, :program:`mongod` and :program:`mongos` instances report information that reflect current operation to standard output, or a log file. The following runtime settings -methods to control these options. +control these options. - :setting:`quiet`. Limits the amount of information written to the - log our output. + log or output. - :setting:`verbose`. Increases the amount of information written to the log or output. @@ -260,6 +260,7 @@ methods to control these options. ` Additionally, the following :term:`database commands ` +affect logging: - :dbcommand:`getLog`. Displays recent messages from the :program:`mongod` process log. @@ -270,7 +271,7 @@ Diagnosing Performance Issues ----------------------------- Degraded performance in MongoDB can be the result of an array of -causes, and is typically a function of the relationship between the +causes, and is typically a function of the relationship amongst the quantity of data stored in the database, the amount of system RAM, the number of connections to the database, and the amount of time the database spends in a lock state. @@ -281,19 +282,20 @@ the host system for virtualized environments. Some users also experience performance limitations as a result of inadequate or inappropriate indexing strategies, or as a consequence of poor schema design patterns. In other situations, performance issues may indicate -that the database may be operating at capacity and that it's time to +that the database may be operating at capacity and that it is time to add additional capacity to the database. Locks ~~~~~ -MongoDB uses a locking system to ensure consistency; however, if +MongoDB uses a locking system to ensure consistency. However, if certain operations are long-running, or a queue forms, performance slows as requests and operations wait for the lock. Because lock related slow downs can be intermittent, look to the data in the :ref:`globalLock` section of the :dbcommand:`serverStatus` response to -asses if the lock has been a challenge to your performance. If -:data:`globalLock.currentQueue.total ` is consistently high, then +assess if the lock has been a challenge to your performance. If +:data:`globalLock.currentQueue.total ` +is consistently high, then there is a chance that a large number of requests are waiting for a lock. This indicates a possible concurrency issue that might affect performance. @@ -343,6 +345,8 @@ check for page faults, see the :data:`extra_info.page_faults :dbcommand:`serverStatus` command. This data is only available on Linux systems. +.. we should reverify the previous statement as the info is appearing on OS X as well + Alone, page faults are minor and complete quickly; however, in aggregate, large numbers of page fault typically indicate that MongoDB is reading too much data from disk and can indicate a number of @@ -355,7 +359,7 @@ this also improves overall throughput. If possible, increasing the amount of RAM accessible to MongoDB may help reduce the number of page faults. If this is not possible, you may want to consider deploying a :term:`sharded cluster` and/or -adding one or more :term:`shards ` to your deployment to +adding one or more :term:`shards ` to your deployment to distribute load among :program:`mongod` instances. Number of Connections @@ -440,7 +444,7 @@ The following profiling levels are available: =========== ====================================== See the output of the profiler in the ``system.profile`` collection of -your database. You can specify the :setting:`slowms` to set a +your database. You can specify the :setting:`slowms` setting to set a threshold above which the profiler considers operations "slow" and thus included in the level ``1`` profiling data. You may configure :setting:`slowms` at runtime, as an argument to the @@ -472,7 +476,7 @@ Replication and Monitoring -------------------------- The primary administrative concern that requires monitoring with -replica sets, beyond the requirements for any MongoDB instance is +replica sets, beyond the requirements for any MongoDB instance, is "replication lag." This refers to the amount of time that it takes a write operation on the :term:`primary` to replicate to a :term:`secondary`. Some very small delay period may be acceptable; @@ -551,7 +555,7 @@ Balancing and Chunk Distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The most effective :term:`sharded cluster` deployments require that -:term:`chunks ` are evenly balanced between the shards. MongoDB +:term:`chunks ` are evenly balanced among the shards. MongoDB has a background :term:`balancer` process that distributes data such that chunks are always optimally distributed among the :term:`shards `. Issue the :method:`db.printShardingStatus()` or :method:`sh.status()` diff --git a/source/administration/operational-segregation.txt b/source/administration/operational-segregation.txt index 308dfdf6e8d..aeb15a244ea 100644 --- a/source/administration/operational-segregation.txt +++ b/source/administration/operational-segregation.txt @@ -11,7 +11,7 @@ MongoDB includes a cluster features that allow database administrators and developers to segregate application operations to MongoDB deployments by functional or geographical groupings. This capability provides "data center awareness," where application operations target -he MongoDB deployment with consideration of the location of +the MongoDB deployment with consideration of the location of :program:`mongod` instances in multi-data center deployments. In single data center deployments, users can use these features to provide "rack awareness," that allows users to control operations @@ -26,12 +26,12 @@ collection only exist on specific shards. Specifically, with MongoDB, you can: - ensure write operations propagate to specific members of a replica - set, or specific members of replica sets. + set, or to specific members of replica sets. - ensure that specific members of a replica set respond to queries. - ensure that specific ranges of your :term:`shard key` balance onto and - reside on specific :term:`shard`. + reside on specific :term:`shards `. - combine the above features in a single distributed deployment, on a per-operation (for read and write operations) and collection (for @@ -41,17 +41,16 @@ For full documentation of these features see the following documentation in the MongoDB Manual: - :ref:`Read Preferences `, which controls how drivers - help applications target read operations to members of a replica - set. + help applications target read operations to members of a replica set. - :ref:`Write Concerns `, which controls how MongoDB ensures that write operations propagate to members of a replica set. - :ref:`Replica Set Tags `, which - controls how applications create and interact with custom groupings - of replica set members to create custom application specific a read - preference and write concerns. + control how applications create and interact with custom groupings + of replica set members to create custom application specific read + preferences and write concerns. - :ref:`Tag Aware Sharding `, which allows MongoDB administrators to define an application specific balancing policy, diff --git a/source/administration/production-notes.txt b/source/administration/production-notes.txt index 4b756c3790a..19fdc435eb0 100644 --- a/source/administration/production-notes.txt +++ b/source/administration/production-notes.txt @@ -42,7 +42,7 @@ recommended Linux kernel 2.6.36 or later for running MongoDB in production. Because MongoDB preallocates its database files before using them and -because MongoDB uses very large files on average, your should +because MongoDB uses very large files on average, you should use the Ext4 and XFS file systems if using the Linux kernel: - If you use the Ext4 file system, use at least version 2.6.23 of the @@ -71,7 +71,7 @@ For MongoDB on Linux use the following recommended configurations: database files are acceptable. See the :ref:`Readahead ` section -- Use NTP to synchronize time between your hosts. This is especially +- Use NTP to synchronize time amongst your hosts. This is especially important in sharded clusters. .. _production-readahead: @@ -100,12 +100,12 @@ VMWare ~~~~~~ MongoDB is compatible with VMWare. Some in the MongoDB community have -run into issues with the VMWare's memory overcommit feature and suggest +run into issues with VMWare's memory overcommit feature and suggest disabling the feature. You can clone a virtual machine running MongoDB. You might use this to spin up a new virtual host that will be added as a member of a replica -set. If Journaling is enabled, the clone snapshot will be consistent. If +set. If journaling is enabled, the clone snapshot will be consistent. If not using journaling, stop :program:`mongod`, clone, and then restart. OpenVZ @@ -182,7 +182,7 @@ MongoDB on NUMA Hardware MongoDB and NUMA, Non-Uniform Access Memory, do not work well together. When running MongoDB on NUMA hardware, disable NUMA for -MongoDB and running with an interleave memory policy. NUMA can cause a +MongoDB and run with an interleave memory policy. NUMA can cause a number of operational problems with MongoDB, including slow performance for periods of time or high system processor usage. @@ -205,12 +205,12 @@ Adjust the ``proc`` settings using the following command: echo 0 > /proc/sys/vm/zone_reclaim_mode -To fully disable NUMA you must perform both operations. However, can +To fully disable NUMA you must perform both operations. However, you can change ``zone_reclaim_mode`` without restarting mongod. For more information, see documentation on `Proc/sys/vm `_. -See the `The MySQL “swap insanity” problem and the effects of NUMA +See the `The MySQL "swap insanity" problem and the effects of NUMA `_ post, which describes the effects of NUMA on databases. This blog post addresses the impact of NUMA for MySQL; however, the issues for @@ -299,7 +299,7 @@ Some operational considerations include: - shard key declarations, which are explicit and quite important as it is hard to change shard keys later -One very simple rule-of-thumb is to not verbatim import data from a +One very simple rule-of-thumb is not to import data from a relational database unmodified: you will generally want to "roll up" certain data into richer documents that use some embedding of nested documents and arrays (and/or arrays of subdocuments). @@ -443,9 +443,10 @@ Additional Deployment Considerations SSDs and MongoDB are a nice combo. See :ref:`production-nfs` for more info. -- Maintain a reasonable pool sizes on clients. If you have 100 client +- Maintain reasonable pool sizes on clients. If you have 100 client machines and each has a pool size of 1000 connections, that would be a worst case of 100,000 connections to MongoDB -- which would be too - much if to a single :program:`mongod` or :program:`mongos` (if to a - cluster with many :program:`mongos`, might be ok). Try to maintain a + many to a single :program:`mongod` or :program:`mongos` (if connected to a + cluster with many :program:`mongos`, then 100,000 connections may be ok). + Try to maintain a reasonable number: 1K is fine; 100K is too much; 10K is ok. diff --git a/source/administration/replica-set-architectures.txt b/source/administration/replica-set-architectures.txt index a628a96b3a0..c14cccc7a3e 100644 --- a/source/administration/replica-set-architectures.txt +++ b/source/administration/replica-set-architectures.txt @@ -78,7 +78,7 @@ Geographically Distributed Sets A geographically distributed replica set provides data recovery should one data center fail. These sets include at least one member in a -secondary data center. The member has its the :data:`priority +secondary data center. The member has its :data:`priority ` :ref:`set ` to ``0`` to prevent the member from ever becoming primary. @@ -210,7 +210,7 @@ information regarding this functionality. Cold Standbys ~~~~~~~~~~~~~ -For some sets, it may not be possible to initialize a new members in a +For some sets, it may not be possible to initialize a new member in a reasonable amount of time. In these situations, it may be useful to maintain a secondary member with an up-to-date copy for the purpose of replacing another member in the replica set. In most cases, these diff --git a/source/administration/replica-sets.txt b/source/administration/replica-sets.txt index b0948885da3..3ae73453320 100644 --- a/source/administration/replica-sets.txt +++ b/source/administration/replica-sets.txt @@ -55,9 +55,9 @@ configurations. .. warning:: The :method:`rs.reconfig()` shell method can force the current - primary to step down, which causes an :ref:`election `. When the primary - steps down, the :program:`mongod` closes all client - connections. While, this typically takes 10-20 seconds, attempt to + primary to step down, which causes an :ref:`election `. + When the primary steps down, the :program:`mongod` closes all client + connections. While this typically takes 10-20 seconds, attempt to make these changes during scheduled maintenance periods. To successfully reconfigure a replica set, a majority of the members must be accessible. @@ -228,7 +228,8 @@ following sequence of operations in the :program:`mongo` shell: rs.reconfig(cfg) After the replica set reconfigures, the first member of the set in the -:data:`~local.system.replset.settings.members` array will have a priority of ``0`` and cannot become :term:`primary`. The :data:`slaveDelay ` value +:data:`~local.system.replset.settings.members` array will have a priority +of ``0`` and cannot become :term:`primary`. The :data:`slaveDelay ` value delays both replication and the member's :term:`oplog` by 3600 seconds (1 hour). Setting :data:`~local.system.replset.settings.members[n].slaveDelay` to a non-zero value also sets :data:`~local.system.replset.settings.members[n].hidden` to @@ -861,7 +862,7 @@ Test Connections Between all Members All members of a :term:`replica set` must be able to connect to every other member of the set to support replication. Always verify -connections in both "directions." Networking typologies and firewall +connections in both "directions." Networking topologies and firewall configurations prevent normal and required connectivity, which can block replication. diff --git a/source/administration/sharded-clusters.txt b/source/administration/sharded-clusters.txt index 156fb426c08..8411d363a1b 100644 --- a/source/administration/sharded-clusters.txt +++ b/source/administration/sharded-clusters.txt @@ -73,7 +73,7 @@ config server, but this is not recommended for production. **Always** use three config servers for production deployments. The actual load on configuration servers is small because each -:program:`mongos` instances maintains a cached copy of the configuration +:program:`mongos` instance maintains a cached copy of the configuration database. MongoDB only writes data to the config server to: - create splits in existing chunks, which happens as data in @@ -125,7 +125,7 @@ that the config servers remain available and intact are critical. Sharded Cluster Operations and ``mongos`` Instances --------------------------------------------------- -The :program:`mongos` provides a single unified interface to a sharded +The :program:`mongos` program provides a single unified interface to a sharded cluster for applications using MongoDB. Except for the selection of a :term:`shard key`, application developers and administrators need not consider any of the :ref:`internal details of sharding `. @@ -184,7 +184,7 @@ possible. Operations have the following targeting characteristics: { a: 1, b: 1, c: 1 } - The :program:`mongos` *can* route queries that include the full + The :program:`mongos` program *can* route queries that include the full shard key or either of the following shard key prefixes at a specific shard or set of shards: @@ -270,10 +270,10 @@ To route a query to a :term:`cluster `, When the first batch of results returns from the cursors: a. For query with sorted results (i.e. using - :method:`cursor.sort()`) the :program:`mongos` performs a merge + :method:`cursor.sort()`) the :program:`mongos` instance performs a merge sort of all queries. - b. For a query with unsorted results, the :program:`mongos` returns + b. For a query with unsorted results, the :program:`mongos` instance returns a result cursor that "round robins" results from all cursors on the shards. diff --git a/source/administration/ssl.txt b/source/administration/ssl.txt index 866f698b540..84396028c11 100644 --- a/source/administration/ssl.txt +++ b/source/administration/ssl.txt @@ -5,7 +5,7 @@ Using MongoDB with SSL Connections .. default-domain:: mongodb This document outlines the use and operation of MongoDB's SSL -support. SSL, allows MongoDB clients to support encrypted connections +support. SSL allows MongoDB clients to support encrypted connections to :program:`mongod` instances. .. note:: The `default distribution of MongoDB`_ does **not** contain diff --git a/source/administration/tag-aware-sharding.txt b/source/administration/tag-aware-sharding.txt index 05579dc9275..e6e13493de4 100644 --- a/source/administration/tag-aware-sharding.txt +++ b/source/administration/tag-aware-sharding.txt @@ -30,7 +30,7 @@ sharding in MongoDB deployments. Behavior and Operations ----------------------- -Tags in a shareded cluster are pieces of metadata that dictate the +Tags in a sharded cluster are pieces of metadata that dictate the policy and behavior of the cluster balancer :term:`balancer`. Using tags, you may associate individual shards in a cluster with one or more strings, or tags. Then, you can assign this tag string to a range @@ -63,7 +63,7 @@ shard. values ranging between ``150`` and ``220`` to a shard tagged ``NYC``, since ``150`` is closer to ``200`` than ``300``. -After configuring sharding tags, the cluster may take some time to +After configuring shard tags, the cluster may take some time to reach the proper distribution of data, depending on the division of chunks (i.e. splits) and the current distribution of data in the cluster. Once configured, the balancer will respect tag ranges during diff --git a/source/administration/vulnerability-notification.txt b/source/administration/vulnerability-notification.txt index 7c9ef7e781e..ab21d703da6 100644 --- a/source/administration/vulnerability-notification.txt +++ b/source/administration/vulnerability-notification.txt @@ -4,10 +4,10 @@ Vulnerability Notification .. default-domain:: mongodb -`10gen `_ values the privacy and security of all users of MongoDB, and we -work very hard to ensure that MongoDB and related tools minimize risk -exposure and increase the security and integrity of data and -environments using MongoDB. +`10gen `_ values the privacy and security of all +users of MongoDB, and we work very hard to ensure that MongoDB and +related tools minimize risk exposure and increase the security and +integrity of data and environments using MongoDB. Notification ------------ @@ -18,11 +18,11 @@ MongoDB, please report these issues so that 10gen can respond appropriately and work to prevent additional issues in the future. All vulnerability reports should contain as much information as possible so that we can move quickly to resolve the issue. -In particular, please include the following: +In particular, please include the following: - The name of the product. -- *Common Vulnerability* information, if applicable, including: +- *Common Vulnerability* information, if applicable, including: - CVSS (Common Vulnerability Scoring System) Score. @@ -38,7 +38,7 @@ Jira ~~~~ 10gen prefers `jira.mongodb.org `_ for all -communication regarding MongoDB and related products. +communication regarding MongoDB and related products. Submit a ticket in the :issue:`Core Server Security `" project, at: . The ticket diff --git a/source/applications.txt b/source/applications.txt index 44a5ed728d1..91f1779dc51 100644 --- a/source/applications.txt +++ b/source/applications.txt @@ -13,7 +13,7 @@ describe application development. For API-level documentation, see For an overview of topics with which every MongoDB application developer will want familiarity, see the :doc:`aggregation ` and :doc:`indexes ` documents. For an -introduction too basic MongoDB use, see the :ref:`administration +introduction to basic MongoDB use, see the :ref:`administration tutorials `. .. seealso:: :doc:`/crud` section and the :doc:`/faq/developers` diff --git a/source/applications/replication.txt b/source/applications/replication.txt index 20e58e3cb4a..5ed29a5b79b 100644 --- a/source/applications/replication.txt +++ b/source/applications/replication.txt @@ -65,7 +65,7 @@ use the ``wtimeout`` argument. The following example sets the timeout to .. code-block:: javascript - db.runCommand( { getlasterror: 1, w: 2, wtimeout:5000 } ) + db.runCommand( { getLastError: 1, w: 2, wtimeout:5000 } ) Modify Default Write Propagation Operation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -153,7 +153,7 @@ To use this mode pass the string ``multiUse`` to the ``w`` option of .. code-block:: javascript - db.runCommand( { getlasterror: 1, w: multiUse } ) + db.runCommand( { getLastError: 1, w: multiUse } ) Specific Custom Write Concerns `````````````````````````````` @@ -198,7 +198,7 @@ To use this mode pass the string ``san`` to the ``w`` option of .. code-block:: javascript - db.runCommand( { getlasterror: 1, w: san } ) + db.runCommand( { getLastError: 1, w: san } ) This operation will not return until a replica set member with the tag ``disk.san`` returns. diff --git a/source/faq/developers.txt b/source/faq/developers.txt index 32ac3c5fa28..7dcdc0b4788 100644 --- a/source/faq/developers.txt +++ b/source/faq/developers.txt @@ -691,7 +691,7 @@ free pace created by document deletion or relocation. However, in those exceptions where you must pad manually, you can use the strategy of first adding a temporary field to a document and then -:operator:`$unsetting <$unset>` the field, as in the following example: +:operator:`$unset <$unset>` the field, as in the following example: .. code-block:: javascript diff --git a/source/index.txt b/source/index.txt index bfee3ba63b1..4bba205b15d 100644 --- a/source/index.txt +++ b/source/index.txt @@ -8,7 +8,7 @@ The MongoDB Manual Welcome to the MongoDB Manual! MongoDB is an open-source, document-oriented database designed for ease of development and -scaling. +scaling. The Manual introduces MongoDB and continues to describe the query language, operational considerations and procedures, administration, @@ -23,7 +23,7 @@ more information on the MongoDB Documentation project. .. as an alternative, the following built table is a bit more wide - + .. include /includes/table-index-nav.rst .. list-table:: @@ -34,13 +34,13 @@ more information on the MongoDB Documentation project. - Developers - Administrators - Reference - + * - :doc:`/installation` - :doc:`First Steps ` - + :doc:`First Steps ` + :doc:`MongoDB Shell ` - + :doc:`Tutorials ` - :doc:`Database Operations` @@ -56,7 +56,7 @@ more information on the MongoDB Documentation project. :doc:`Replica Sets ` :doc:`Sharded Clusters` - + :doc:`MongoDB Security ` - :doc:`Shell Methods ` @@ -72,7 +72,7 @@ more information on the MongoDB Documentation project. - - -If you're new to MongoDB, also consider the following resources: +If you're new to MongoDB, also consider the following resources: .. toctree:: :maxdepth: 1 @@ -95,9 +95,9 @@ Additional Resources The following resources provide additional information: -- `10gen `_ +- `10gen `_ - `MongoDB Events `_ - `Planet MongoDB `_ - `Slides and Video `_ - `MongoDB Monitoring Service `_ (`MMS documentation `_) -- `MongoDB Books `_ +- `MongoDB Books `_ diff --git a/source/reference/method/cursor.max.txt b/source/reference/method/cursor.max.txt index 245341596e5..5b5790dd10c 100644 --- a/source/reference/method/cursor.max.txt +++ b/source/reference/method/cursor.max.txt @@ -14,10 +14,10 @@ cursor.max() :method:`max() ` takes the following parameter: - :param document indexbounds: + :param document indexBounds: Specifies the exclusive upper bound for the index keys. The - ``indexbounds`` parameter has the following prototype form: + ``indexBounds`` parameter has the following prototype form: .. code-block:: javascript @@ -27,7 +27,7 @@ cursor.max() *in order*. You can explicitly specify the particular index with the :method:`hint() ` method. Otherwise, :program:`mongod` selects the index using the fields in the - ``indexbounds``; however, if multiple indexes exist on same + ``indexBounds``; however, if multiple indexes exist on same fields with different sort orders, the selection of the index may be ambiguous. diff --git a/source/reference/method/cursor.min.txt b/source/reference/method/cursor.min.txt index ba0b9f96118..ee3d37e9eaa 100644 --- a/source/reference/method/cursor.min.txt +++ b/source/reference/method/cursor.min.txt @@ -14,10 +14,10 @@ cursor.min() :method:`min() ` takes the following parameter: - :param document indexbounds: + :param document indexBounds: Specifies the inclusive lower bound for the index keys. The - ``indexbounds`` parameter has the following prototype form: + ``indexBounds`` parameter has the following prototype form: .. code-block:: javascript diff --git a/source/reference/mongodb-extended-json.txt b/source/reference/mongodb-extended-json.txt index 11ef9f23c0f..67ede6ec16f 100644 --- a/source/reference/mongodb-extended-json.txt +++ b/source/reference/mongodb-extended-json.txt @@ -1,3 +1,4 @@ +.. _mongodb_extended_json: ===================== MongoDB Extended JSON ===================== diff --git a/source/reference/operator/max.txt b/source/reference/operator/max.txt index 7f42f1c126e..3d5bf1c0fa9 100644 --- a/source/reference/operator/max.txt +++ b/source/reference/operator/max.txt @@ -37,7 +37,7 @@ $max You can explicitly specify the corresponding index with :method:`cursor.hint()`. Otherwise, MongoDB selects the index using - the fields in the ``indexbounds``; however, if multiple indexes + the fields in the ``indexBounds``; however, if multiple indexes exist on same fields with different sort orders, the selection of the index may be ambiguous. diff --git a/source/reference/replica-configuration.txt b/source/reference/replica-configuration.txt index 8680f40193c..947cb78e797 100644 --- a/source/reference/replica-configuration.txt +++ b/source/reference/replica-configuration.txt @@ -546,7 +546,7 @@ mode, as follows: .. code-block:: javascript - db.runCommand( { getLastErrror: 1, w: "MultipleDC" } ) + db.runCommand( { getLastError: 1, w: "MultipleDC" } ) Alternatively, if you want to ensure that each write operation propagates to at least 2 racks in each facility, reconfigure the @@ -559,7 +559,7 @@ replica set as follows in the :program:`mongo` shell: conf = rs.conf() #. Redefine the - :data:`~local.system.replset.settings.getLastErrorModes` valuie to + :data:`~local.system.replset.settings.getLastErrorModes` value to require two different values of both ``dc.va`` and ``dc.gto``: .. code-block:: javascript @@ -579,7 +579,7 @@ each facility: .. code-block:: javascript - db.runCommand( { getLastErrror: 1, w: "MultipleDC" } ) + db.runCommand( { getLastError: 1, w: "MultipleDC" } ) Configure Tag Sets for Functional Segregation of Read and Write Operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -653,7 +653,7 @@ each data center. .. code-block:: javascript - db.runCommand( { getLastErrror: 1, w: "MultipleDC" } ) + db.runCommand( { getLastError: 1, w: "MultipleDC" } ) Additionally, you can specify the ``ssd`` write concern mode, as in the following operation, to ensure that a write operation propagates diff --git a/source/tutorial.txt b/source/tutorial.txt index cd958da6757..327fbea8e4f 100644 --- a/source/tutorial.txt +++ b/source/tutorial.txt @@ -9,8 +9,7 @@ MongoDB Tutorials This index page provides a complete listing of all tutorials available as part of the :doc:`MongoDB Manual `. In addition to these documents, you can refer to the introductory :doc:`MongoDB Tutorial -` and other tutorials available in the -:wiki:`MongoDB Wiki <>`. If there is a process or pattern that you +`. If there is a process or pattern that you would like to see included here, please open a :issue:`Jira Case `. Getting Started diff --git a/source/tutorial/aggregation-examples.txt b/source/tutorial/aggregation-examples.txt index 4295cef8e6f..7e34f54afa6 100644 --- a/source/tutorial/aggregation-examples.txt +++ b/source/tutorial/aggregation-examples.txt @@ -94,7 +94,7 @@ In the above example, the pipeline passes all documents in the creates documents for each state. These new per-state documents have one field in addition the - ``_id`` field: ``totalpop`` which is a generated field using the + ``_id`` field: ``totalPop`` which is a generated field using the :agg:expression:`$sum` operation to calculate the total value of all ``pop`` fields in the source documents. @@ -110,7 +110,7 @@ In the above example, the pipeline passes all documents in the - the :agg:pipeline:`$match` operation filters these documents so that the only documents that remain are those where the value of - ``totalpop`` is greater than or equal to 10 million. + ``totalPop`` is greater than or equal to 10 million. The :agg:pipeline:`$match` operation does not alter the documents, which have the same format as the documents output by diff --git a/source/tutorial/isolate-sequence-of-operations.txt b/source/tutorial/isolate-sequence-of-operations.txt index 4d42ea4b664..e4ad96e801e 100644 --- a/source/tutorial/isolate-sequence-of-operations.txt +++ b/source/tutorial/isolate-sequence-of-operations.txt @@ -110,7 +110,7 @@ as: .. Maybe incorporate the blurb: "MongoDB does not support traditional locking and complex transactions for a number of reasons: First, in sharded environments, distributed locks could be - expensive and slow. Mongo DB's goal is to be lightweight and fast. We + expensive and slow. MongoDB's goal is to be lightweight and fast. We dislike the concept of deadlocks. We want the system to be simple and predictable without these sort of surprises. We want Mongo DB to work well for realtime problems. If an operation may execute which locks diff --git a/source/tutorial/manage-mongodb-processes.txt b/source/tutorial/manage-mongodb-processes.txt index b6efda1ac38..8e93d67a1d4 100644 --- a/source/tutorial/manage-mongodb-processes.txt +++ b/source/tutorial/manage-mongodb-processes.txt @@ -15,7 +15,7 @@ The following examples assume the directory containing the :program:`mongod` process is in your system paths. The :program:`mongod` process is the primary database process that runs on an individual server. :program:`mongos` provides a coherent MongoDB -interface equivelent to a :program:`mongod` from the perspective of a +interface equivalent to a :program:`mongod` from the perspective of a client. The :program:`mongo` binary provides the administrative shell. diff --git a/source/tutorial/reconfigure-replica-set-with-unavailable-members.txt b/source/tutorial/reconfigure-replica-set-with-unavailable-members.txt index c2fdeeed80a..7a3fec87fe9 100644 --- a/source/tutorial/reconfigure-replica-set-with-unavailable-members.txt +++ b/source/tutorial/reconfigure-replica-set-with-unavailable-members.txt @@ -78,7 +78,7 @@ To force reconfiguration: .. note:: When you use ``force : true``, the version number in the replica set configuration increases significantly, by tens or hundreds of thousands. This is normal and designed to prevent set - version collisions if you accidentally force reconfigs on both sides of + version collisions if you accidentally force reconfigurations on both sides of a network partition and then the network partitioning ends. #. If the failure or partition was only temporary, shut down or @@ -186,5 +186,5 @@ data from ``db0.example.net`` to all the other members. rs.add("db1.example.net:27017") - MongoDB peforms an initial sync on the added members by copying all + MongoDB performs an initial sync on the added members by copying all data from ``db0.example.net`` to the added members. diff --git a/source/use-cases.txt b/source/use-cases.txt index 58df7257f7e..9448f738ac8 100644 --- a/source/use-cases.txt +++ b/source/use-cases.txt @@ -2,9 +2,9 @@ Use Cases ========= -The use case documents provide introductions to the patterns, design, -and operation used in application development with MongoDB. Each -document provides more concrete examples and implementation details to +The use case documents introduce the patterns, designs, +and operations used in application development with MongoDB. Each +document provides concrete examples and implementation details to support core MongoDB `use cases`_. These documents highlight application design, and data modeling strategies (*i.e. schema design*) for MongoDB with special attention to pragmatic @@ -27,14 +27,14 @@ using MongoDB and popular Python web development tool kits. .. _`use cases`: http://www.10gen.com/use-cases -.. introduction-ends-here .. +.. introduction-ends-here .. Operational Intelligence ------------------------ As an introduction to the use of MongoDB for operational intelligence -and real time analytics use, ":doc:`/use-cases/storing-log-data`" -document describes several ways and approaches to modeling and storing +and real time analytics use, the document ":doc:`/use-cases/storing-log-data`" +describes several ways and approaches to modeling and storing machine generated data with MongoDB. Then, ":doc:`/use-cases/pre-aggregated-reports`" describes methods and strategies for processing data to generate aggregated reports from raw @@ -86,7 +86,7 @@ posts, and media, in MongoDB. /use-cases/metadata-and-asset-management /use-cases/storing-comments -.. ignore-next-line-in-include .. +.. ignore-next-line-in-include .. .. _applications-tutorials-python: .. start-including-here ..