Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
== Main features
* Ad-hoc queries
** MongoDB supports field, range query, and regular-expression searches.
* Indexing
** Fields in a MongoDB document can be indexed with primary and secondary indices or index.
* Replication
** MongoDB provides high availability with replica sets.
* Load balancing
** MongoDB scales horizontally using sharding.
* File storage
** MongoDB can be used as a file system, called GridFS, with load balancing and data replication features over multiple machines for storing files.
* Aggregation
** MongoDB provides three ways to perform aggregation: the aggregation pipeline, the map-reduce function, and single-purpose aggregation methods.
** Map-reduce can be used for batch processing of data and aggregation operations.
* Server-side JavaScript execution
** JavaScript can be used in queries, aggregation functions (such as MapReduce), and sent directly to the database to be executed.
* Capped collections
** MongoDB supports fixed-size collections called capped collections. This type of collection maintains insertion order and, once the specified size has been reached, behaves like a circular queue.
A replica set is a group of mongod instances that maintain the same data set. A replica set contains several data bearing nodes and optionally one arbiter node.