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

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.

主站蜘蛛池模板: 石景山区| 涞源县| 福贡县| 隆子县| 莱州市| 泾川县| 大姚县| 扬中市| 凤冈县| 准格尔旗| 巴南区| 宁明县| 加查县| 屏东市| 广宁县| 竹溪县| 延寿县| 宁河县| 新乐市| 枝江市| 彰化市| 洪洞县| 会理县| 太仆寺旗| 恭城| 凤山县| 塔城市| 临洮县| 孙吴县| 苏尼特左旗| 临澧县| 长治县| 闻喜县| 许昌县| 乌鲁木齐市| 湘乡市| 那坡县| 和政县| 广平县| 江口县| 衡山县|