Most popular document database. Flexible schema.
Installation¶
docker run -d --name mongo -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=secret \
mongo:7
CRUD¶
db.users.insertOne({name:'John',email:'[email protected]',age:30})
db.users.find({age:{$gt:25}})
db.users.updateOne({name:'John'},{$set:{age:31}})
db.users.deleteOne({name:'John'})
Schema¶
- Embed — 1:1, 1:few
- Reference — 1:many, many:many
- Denormalization OK
Indexes¶
db.users.createIndex({email:1},{unique:true})
db.orders.createIndex({userId:1,createdAt:-1})
MongoDB for Flexible Data¶
Rapid prototyping, CMS, catalogs.
mongodbnosqldocuments