{
"_id": "5cf0029caff5056591b0ce7d",
"firstname": "Jane",
"lastname": "Wu",
"address": {
"street": "1 Circle Rd",
"city": "Los Angeles",
"state": "CA",
"zip": "90404"
},
"hobbies": ["surfing", "coding"]
}
The most natural and productive way to work with data.
Supports arrays and nested objects as values.
Allows for flexible and dynamic schemas.
> db.users.find({ "address.zip" : "90404" })
{ "_id": "5cf0029caff5056591b0ce7d", "firstname": "Jane", "lastname": "Wu", "address": { "zip": "90404" } }
{ "_id": "507f1f77bcf86cd799439011", "firstname": "Jon", "lastname": "Davis", "address": { "zip": "90404" } }
{ "_id": "5349b4ddd2781d08c09890f3", "firstname": "Jim", "lastname": "White", "address": { "zip": "90404" } }
{ "_id": "5bf142459b72e12b2b1b2cd", "firstname": "Jeff", "lastname": "Taylor", "address": { "zip": "90404" } }
{ "_id": "5cf003283b23d04a40d5f88a", "firstname": "Jerry", "lastname": "Miller", "address": { "zip": "90404" } }
{ "_id": "5bf142459b72e12b2b1b2cd", "firstname": "Jai", "lastname": "Williams", "address": { "zip": "90404" } }
{ "_id": "5cf0036deaa1742dd225ea35", "firstname": "Jess", "lastname": "Johnson", "address": { "zip": "90404" } }
{ "_id": "54495ad94c934721ede76d90", "firstname": "Jill", "lastname": "Brown", "address": { "zip": "90404" } }
{ "_id": "566eb3c704c7b31facbb0007", "firstname": "Janet", "lastname": "Jones", "address": { "zip": "90404" } }
{ "_id": "5a999cc461d36489a27f2563", "firstname": "Jan", "lastname": "Smith", "address": { "zip": "90404" } }
Rich and expressive query language that allows you to filter and sort by any field, no matter how nested it may be within a document.
Support for aggregations and other modern use-cases such as geo-based search, graph search, and text search.
Queries are themselves JSON, and thus easily composable. No more concatenating strings to dynamically generate SQL queries.
session.start_transaction()
order = { line_items : [ { item : 5, quantity: 6 } ] }
db.orders.insertOne( order, session=session );
for x in order.line_items:
db.inventory.update(
{ _id : x.item } ,
{ $inc : { number : -1 * x.quantity } },
session=session
)
session.commit_transaction()
Distributed multi-document ACID transactions with snapshot isolation.
Support for joins in queries.
Two types of relationships instead of one: reference and embedded.
Learn more →
Learn more →
Learn more →
Learn more →
Learn more →
Learn more →
The fastest way to create visualizations of MongoDB data.
Built for the document model.
Visualize live data from any of your MongoDB instances. Available on MongoDB Atlas.
Allow any BI tool that can speak the MySQL protocol to work with your MongoDB data.
Leverage the BI tools your organization already uses.
Perform federated analytics, combining data from MongoDB and other databases.
Search, visualize, and work with your data through an intuitive GUI.
Manipulate your data with a powerful visual editing tool.
Understand performance issues with visual explain plans and manage your indices.