It handles data requests, manages data format, and performs background management operations.
I don't know what "manages data format" means. Maybe "manages data access"?
This document provides a complete overview of all command line options for mongod. These options are primarily useful for testing purposes. In common operation, use the configuration file options to control the behavior of your database, which is fully capable of all operations described below.
The point of this paragraph is a bit blurred. The options are useful on the command line for testing. The options themselves are crucial for controlling your database.
The last sentence has a misplaced modifier: the configuration file, not the database, is fully capable.
--config <filename>, -f
Doesn't the -f option let you specify a filename too?
--pidfilepath <path> Specifies a file location to hold the "PID" or process ID of the mongod process. Useful for tracking the mongod process in combination with the --fork option.
Make it clear that mongod writes its PID into the pidfile. It's only about 90% clear. It's like --logFile, but unlike --keyFile.
--setParameter Specifies an option to configure on startup.
Is there some way to explain what the difference is between setParameter-based options and the generic command-line options described on this web page?
This is the normal mode of operation in production and production-like environments but may not be desirable for testing.
Why may it not be desirable for testing? (Answer, I guess, is that you can kill a non-forked mongo with control-c or some such from the shell.)
Ensure that your driver supports alternate service names.
I don't know how to do this. It might be good to check that it's an obvious Kerberos thing, and, if not, to give a hint about how it is done.
Permits JSONP access via an HTTP interface. Consider the security implications of allowing this activity before enabling this option.
Do we have a link about what the security implications are? This is scary without being helpful. Perhaps that is what we want, or perhaps we'd rather be both scary and helpful.
If the HTTP interface is disabled, the --jsonp also enables the HTTP interface.
Consider rewriting to something like, "-
jsonp enables the HTTP interface." The sentence as written suggests that nohttpinterface --jsonp will turn on the HTTP interface, which I really hope it doesn't. nohttpinterface's description hints, though does not state, that it's an error to use it with -jsonp
Enables the simple REST API. Consider the security implications of allowing this activity before enabling this option.
I didn't find much about the security implications by following the one link here. It would be good to link to something that actually describes them, so that the user can consider them based on something concrete.
Explain what <value> is — probably an integer, interpreted as a number of milliseconds.
Forces mongod to report the percentage of CPU time in write lock. mongod generates output every four seconds. MongoDB writes this data to standard output or the logfile if using the logpath option.
1. The second sentence isn't literally true: mongod reports this percentage every four seconds. Consider combining the first two sentences to something like Forces mongod to log the percentage of CPU time in write lock, every four seconds.
2. The last sentence is confusing — does --cpu not use the standard choice of logging?
If you installed using a package management system. Check the /etc/mongodb.conf file provided by your packages to see the configuration of the --dbpath.
Shouldn't these be one sentence, not a fragment and a sentence?
To enable --directoryperdb you would need to modify the dbpath to resemble the following:
You're not modifying the dbpath variable or value. You're modifying the data directory itself, creating subdirectories and moving files into them. The figure is clear enough, but the text is unclear.
To force mongod to commit to the journal more frequently, you can specify j:true. When a write operation with j:true is pending, mongod will reduce journalCommitInterval to a third of the set value.
I recommend adding the clause "on write operations" to the first sentence.
Specifies a maximum size in megabytes for the replication operation log (e.g. oplog.)
This should be i.e., (or viz.) not e.g.. e.g. means "for example", and the others mean "which is/namely"
You can modify this behavior so that the secondaries will only load the _id index. Specify _id_only or none to prevent the mongod from loading any index into memory.
This can be read to mean that id-only prevents mongod from loading any index. Consider rewriting as something like "Specify id-only to only load the -id index, or none to prevent the mongod from loading any index into memory"
Shouldn't this be something like --source <host>:<port>?
The paragraph "In the context..." is duplicated. One copy is probably enough.
Declares that this mongod instance serves as the config database of a sharded cluster. When running with this option, clients will not be able to write data to any database other than config and admin.
By "clients" is it meant "clients which connect to this mongod instance?"