官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 金昌市| 彭泽县| 尼勒克县| 五指山市| 理塘县| 象州县| 宜昌市| 镇江市| 新民市| 陵水| 武鸣县| 清流县| 宁明县| 泽州县| 达日县| 潍坊市| 托里县| 大田县| 吴桥县| 钟祥市| 六枝特区| 衢州市| 临泽县| 常熟市| 沙坪坝区| 德清县| 韶山市| 土默特右旗| 玉门市| 十堰市| 鱼台县| 开江县| 独山县| 安仁县| 大悟县| 桐庐县| 闸北区| 诏安县| 东海县| 安多县| 万州区|