Classified as a NoSQL database product, MongoDB uses JSON-like documents with optional schemas.
Released in February 2009 by 10gen (now MongoDB Inc.), it supports features like sharding, replication, and ACID transactions (from version 4.0).
The American software company 10gen began developing MongoDB in 2007 as a component of a planned platform-as-a-service product.
In 2009, the company shifted to an open-source development model and began offering commercial support and other services.
[32] Queries can return specific fields of documents and also include user-defined JavaScript functions.
Secondaries can optionally serve read operations, but that data is only eventually consistent by default.
If the replicated MongoDB deployment only has a single secondary member, a separate daemon called an arbiter must be added to the set.
[34] As a consequence, an ideal distributed MongoDB deployment requires at least three separate servers, even in the case of just one primary and one secondary.
MongoDB can run over multiple servers, balancing the load or duplicating data to keep the system functional in case of hardware failure.
[41] The aggregation framework enables users to obtain results similar to those returned by queries that include the SQL GROUP BY clause.
This type of collection maintains insertion order and, once the specified size has been reached, behaves like a circular queue.
MongoDB Atlas runs on AWS, Microsoft Azure and Google Cloud Platform.
There are products and third-party projects that offer user interfaces for administration and data viewing.
[53] MongoDB has been removed from the Debian, Fedora and Red Hat Enterprise Linux distributions because of the licensing change.
Fedora determined that the SSPL version 1 is not a free software license because it is "intentionally crafted to be aggressively discriminatory" towards commercial users.
[56][57] In September 2017, Davi Ottenheimer head of product security at MongoDB, proclaimed that measures had been taken to defend against these risks.
[68] Until version 3.3.11, MongoDB could not perform collation-based sorting and was limited to bytewise comparison via memcmp, which would not provide correct ordering for many non-English languages when used with a Unicode encoding.
[70] MongoDB claimed that version 3.6.4 had passed "the industry's toughest data safety, correctness, and consistency tests" by Jepsen, and that "MongoDB offers among the strongest data consistency, correctness, and safety guarantees of any database available today.
"[71] Jepsen, which describes itself as a "distributed systems safety research company," disputed both claims on Twitter, saying, "In that report, MongoDB lost data and violated causal by default."
Instead, Jepsen observed read skew, cyclic information flow, duplicate writes, and internal consistency violations.