CHAPTER 11 Frequently Asked Questions This document addresses basic high level questions about MongoDB and its use. If you don’t find the answer you’re looking for, check the complete list of FAQs (page 743) or post your question to the MongoDB User Mailing List$^{1}$. 11.1 FAQ: MongoDB Fundamentals 11.1.1 What kind of database is MongoDB? 11.1.2 Do MongoDB databases have tables? See 743 $^{1}$https://groups.google.com/forum/?fromgroups#!forum/mongodb-user MongoDB is a document -oriented DBMS. Think of MySQL but with JSON -like objects comprising the data model, rather than RDBMS tables. Significantly, MongoDB supports neither joins nor transactions. However, it features secondary indexes, an expressive query language, atomic writes on a per-document level, and fully-consistent reads. Operationally, MongoDB features master-slave replication with automated failover and built-in horizontal scaling via automated range-based partitioning. Note: MongoDB uses BSON , a binary object format similar to, but more expressive than JSON . Instead of tables, a MongoDB database stores its data in collections , which are the rough equivalent of RDBMS tables. A collection holds one or more documents , which corresponds to a record or a row in a relational database table, and each document has one or more fields, which corresponds to a column in a relational database table. Collections have important differences from RDBMS tables. Documents in a single collection may have a unique combination and set of fields. Documents need not have identical fields. You can add a field to some documents in a collection without adding that field to all documents in the collection. SQL to MongoDB Mapping Chart (page 131)