Mongo - Data Modeling
#
Lesson Objectives- Explain how to relate documents using foreign keys
- Explain how to use Arrays
- Explain how to use Embedded Documents
- Explain what denormalization is and when to use it
#
Explain how to relate documents using foreign keysdb.employees.insert({ _id: ObjectId("4d85c7039ab0fd70a117d730"), name: "Leto",});db.employees.insert({ _id: ObjectId("4d85c7039ab0fd70a117d731"), name: "Duncan", manager: ObjectId("4d85c7039ab0fd70a117d730"),});db.employees.insert({ _id: ObjectId("4d85c7039ab0fd70a117d732"), name: "Moneo", manager: ObjectId("4d85c7039ab0fd70a117d730"),});
- to find:
db.employees.find({manager: ObjectId( "4d85c7039ab0fd70a117d730")})
#
Explain how to use Arraysdb.employees.insert({ _id: ObjectId("4d85c7039ab0fd70a117d733"), name: "Siona", manager: [ ObjectId("4d85c7039ab0fd70a117d730"), ObjectId("4d85c7039ab0fd70a117d732"), ],});
- to find:
db.employees.find({manager: ObjectId( "4d85c7039ab0fd70a117d730")})
- index uses dot notation
db.employees.find({ 'manager.0': ObjectId("4d85c7039ab0fd70a117d730")})
#
Explain how to use Embedded Documentsdb.employees.insert({ _id: ObjectId("4d85c7039ab0fd70a117d734"), name: "Ghanima", family: { mother: "Chani", father: "Paul", brother: ObjectId("4d85c7039ab0fd70a117d730"), },});
- can be queried using dot notation
db.employees.find({ 'family.mother': 'Chani'})