- Mastering MongoDB 3.x
- Alex Giamas
- 310字
- 2021-08-20 10:10:53
Summary
In this chapter, we learned about schema design for relational databases and MongoDB and how we can achieve the same goal starting from a different starting point.
In MongoDB, we have to think about read/write ratios, the questions that our users will have in the most common cases, as well as cardinality among relationships.
We learned about atomic operations and how we can construct our queries so that we can have ACID properties without the overhead of transactions.
We also learned about MongoDB data types, how they can be compared, and some special data types such as the ObjectId that can be used both by the database and for our advantage.
Starting from modeling simple one-one relationships, we went through one-many and also many-many relationship modeling, without the need for an intermediate table, like we would do in a relational database, either using references or embedded documents.
We learned how to model data for keyword searches, one of the features that most applications need to support in a web context.
Finally, we explored different use cases for using MongoDB with three of the most popular web programming languages. We saw examples using Ruby with the official driver and Mongoid ODM. Then we explored how to connect using Python with the official driver and PyMODM ODM, and lastly we worked through an example using PHP with the official driver and Doctrine ODM.
With all these languages (and many others), there are both official drivers offering support and full access functionality to the underlying database operations and also object data modeling frameworks for ease of modeling our data and rapid development.
In the next chapter, we will dive deeper into the MongoDB shell and the operations we can achieve using it. We will also master using the drivers for CRUD operations on our documents.
- 嵌入式系統(tǒng)及其開發(fā)應(yīng)用
- Visualforce Development Cookbook(Second Edition)
- HBase Design Patterns
- 機艙監(jiān)測與主機遙控
- JMAG電機電磁仿真分析與實例解析
- ESP8266 Home Automation Projects
- 教育機器人的風口:全球發(fā)展現(xiàn)狀及趨勢
- 電腦上網(wǎng)輕松入門
- Spatial Analytics with ArcGIS
- INSTANT Puppet 3 Starter
- Linux Shell編程從初學到精通
- Excel 2007終極技巧金典
- Spark大數(shù)據(jù)商業(yè)實戰(zhàn)三部曲:內(nèi)核解密|商業(yè)案例|性能調(diào)優(yōu)
- Machine Learning with Spark(Second Edition)
- Red Hat Enterprise Linux 5.0服務(wù)器構(gòu)建與故障排除