Frequently Asked Questions¶
- FAQ: MongoDB Fundamentals
- What kind of database is MongoDB?
- Do MongoDB databases have tables?
- Do MongoDB databases have schemas?
- What languages can I use to work with MongoDB?
- Does MongoDB support SQL?
- What are typical uses for MongoDB?
- Does MongoDB support transactions?
- Does MongoDB require a lot of RAM?
- How do I configure the cache size?
- Does MongoDB require a separate caching layer for application-level caching?
- Does MongoDB handle caching?
- Are writes written to disk immediately, or lazily?
- What language is MongoDB written in?
- What are the limitations of 32-bit versions of MongoDB?
- FAQ: MongoDB for Application Developers
- What is a namespace in MongoDB?
- How do you copy all objects from one collection to another?
- If you remove a document, does MongoDB remove it from disk?
- When does MongoDB write updates to disk?
- How do I do transactions and locking in MongoDB?
- How do you aggregate data with MongoDB?
- Why does MongoDB log so many “Connection Accepted” events?
- Does MongoDB run on Amazon EBS?
- Why are MongoDB’s data files so large?
- How do I optimize storage use for small documents?
- When should I use GridFS?
- How does MongoDB address SQL or Query injection?
- How does MongoDB provide concurrency?
- What is the compare order for BSON types?
- When multiplying values of mixed types, what type conversion rules apply?
- How do I query for fields that have null values?
- Are there any restrictions on the names of Collections?
- How do I isolate cursors from intervening write operations?
- When should I embed documents within other documents?
- Where can I learn more about data modeling in MongoDB?
- Can I manually pad documents to prevent moves during updates?
- FAQ: The
mongo
Shell - FAQ: Concurrency
- What type of locking does MongoDB use?
- How granular are locks in MongoDB?
- How do I see the status of locks on my
mongod
instances? - Does a read or write operation ever yield the lock?
- Which operations lock the database?
- Which administrative commands lock the database?
- Does a MongoDB operation ever lock more than one database?
- How does sharding affect concurrency?
- How does concurrency affect a replica set primary?
- How does concurrency affect secondaries?
- What kind of concurrency does MongoDB provide for JavaScript operations?
- Does MongoDB support transactions?
- What isolation guarantees does MongoDB provide?
- Can reads see changes that have not been committed to disk?
- FAQ: Sharding with MongoDB
- Is sharding appropriate for a new deployment?
- How does sharding work with replication?
- Can I change the shard key after sharding a collection?
- What happens to unsharded collections in sharded databases?
- How does MongoDB distribute data across shards?
- What happens if a client updates a document in a chunk during a migration?
- What happens to queries if a shard is inaccessible or slow?
- How does MongoDB distribute queries among shards?
- How does MongoDB sort queries in sharded environments?
- How does MongoDB ensure unique
_id
field values when using a shard key other than_id
? - I’ve enabled sharding and added a second shard, but all the data is still on one server. Why?
- Is it safe to remove old files in the
moveChunk
directory? - How does
mongos
use connections? - Why does
mongos
hold connections open? - Where does MongoDB report on connections used by
mongos
? - What does
writebacklisten
in the log mean? - How should administrators deal with failed migrations?
- What is the process for moving, renaming, or changing the number of config servers?
- When do the
mongos
servers detect config server changes? - Is it possible to quickly update
mongos
servers after updating a replica set configuration? - What does the
maxConns
setting onmongos
do? - How do indexes impact queries in sharded systems?
- Can shard keys be randomly generated?
- Can shard keys have a non-uniform distribution of values?
- Can you shard on the
_id
field? - What do
moveChunk commit failed
errors mean? - How does draining a shard affect the balancing of uneven chunk distribution?
- FAQ: Replication and Replica Sets
- What kinds of replication does MongoDB support?
- What do the terms “primary” and “master” mean?
- What do the terms “secondary” and “slave” mean?
- How long does replica set failover take?
- Does replication work over the Internet and WAN connections?
- Can MongoDB replicate over a “noisy” connection?
- What is the preferred replication method: master/slave or replica sets?
- What is the preferred replication method: replica sets or replica pairs?
- Why use journaling if replication already provides data redundancy?
- Are write operations durable if write concern does not acknowledge writes?
- How many arbiters do replica sets need?
- What information do arbiters exchange with the rest of the replica set?
- Which members of a replica set vote in elections?
- Do hidden members vote in replica set elections?
- Is it normal for replica set members to use different amounts of disk space?
- FAQ: MongoDB Storage
- What are memory mapped files?
- How do memory mapped files work?
- How does MongoDB work with memory mapped files?
- What are page faults?
- What is the difference between soft and hard page faults?
- What tools can I use to investigate storage use in MongoDB?
- What is the working set?
- Why are the files in my data directory larger than the data in my database?
- How do I reclaim disk space?
- How can I check the size of a collection?
- How can I check the size of indexes?
- How do I know when the server runs out of disk space?
- FAQ: Indexes
- Should you run
ensureIndex()
after every insert? - How do you know what indexes exist in a collection?
- How do you determine the size of an index?
- What happens if an index does not fit into RAM?
- How do you know what index a query used?
- How do you determine what fields to index?
- How do write operations affect indexes?
- Will building a large index affect database performance?
- Can I use index keys to constrain query matches?
- Using
$ne
and$nin
in a query is slow. Why? - Can I use a multi-key index to support a query for a whole array?
- How can I effectively use indexes strategy for attribute lookups?
- Should you run
- FAQ: MongoDB Diagnostics