MongoDB – document-oriented data store

Last Updated on September 29, 2023

MongoDB is a high-performance, open source, schema-free document-oriented data store that is easy to deploy, manage and use. This network accessible software is written in C++. As the database is document-oriented it manages collections of JSON-like documents. Many applications can therefore model data in a more natural way, as data can be nested in complex hierarchies and still be query-able and indexable.

MongoDB consists of mongod, the database process, mongos, a sharding controller, and mongo (the database shell which uses interactive JavaScript). The shell is extremely versatile letting developers view, insert, remove, and update data in their databases, as well as obtain replication information, setting up sharding, shut down servers, execute JavaScript, and much more.

High performance, scalability, and reasonable depth of functionality are the goals for the project. It is used in many different production environments including Craigslist, SourceForge, The New York Times, Intuit, Business Insider, GitHub, SecondMarket and others.

A number of graphical user interfaces have been created by independent developers. Examples include Mongo3, Fang of Mongo, RockMongo, and Opricot. The screenshot below is Fang of Mongo in operation.

Features include:

  • Document-oriented storage – JSON-style documents with dynamic schemas offer simplicity and power.
  • Full Index Support including on inner objects. Index on any attribute. It supports secondary indexes, including single-key, compound, unique, non-unique, and geospatial indexes.
  • Replication & High Availability – Mirror across LANs and WANs for scale and peace of mind:
    • Supports master-slave replication.
  • Auto-Sharding for cloud-level scalability – Scale horizontally without compromising functionality.
  • Querying – Rich, document-based queries.
  • Cursors for query results.
  • Fast In-Place Updates – Atomic modifiers for contention-free performance.
  • Map/Reduce – Flexible aggregation and data processing..
  • GridFS – Store files of any size without complicating your stack.
  • Aggregation.
  • File storage – GridFS is used to store and retrieve files from the database.
  • Efficient storage of binary data including large objects (e.g. videos).
  • Consistent UTF-8 encoding. Non-UTF-8 data can be saved, queried, and retrieved with a special binary data type.
  • Ad hoc queries.
  • Querying nested fields.
  • Supports fixed-size collections called capped collections.
  • Server-side JavaScript execution.
  • Official drivers for: C, C++, Java, JavaScript, Perl, PHP, Ruby, Haskell, C#, and Scala.
  • Commercial support is available.

Website: www.mongodb.com
Support: Documentation
Developer: 10gen
License: Server Side Public License (not recognized as an open source license)

MongoDB is written in C++. Learn C++ with our recommended free books and free tutorials.

Return to Document-Oriented Databases


Explore Linux

Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category.
In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality.

The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions.
Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others.
Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems.
Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks.
Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems.
Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux.
Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools.
Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux.
Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted