GitHub源码链接:sodino#MongoDemo
理解Schema
传统的MySQL、Oracle等关系型数据库中,在存储数据之前,开发者必须道德为数据定义数据表,并且为该数据表定义一些字段,从而使数据模型得到实现。
可以说,在关系型数据库中,一个数据表就是一个数据架构。它预先定义了开发者可以使用的数据模型。
但MongoDB是面向文档的数据库,不是关系型数据库。被认为是无数据架构的。
然而数据架构仍然是有用的,可以使人以易读的方式来描述数据库中的数据内容,并为这些数据定义一些规则。
如Mongoose可以对Number
的数据设置最小值min
与最大值max
;可以对Date
设置默认值为当前时间;可以对String
设置存储为小写模式并去除头尾空白字符。
而以上所说的功能都在Mongoose的设计理念中,都由Schema
的定义来实现。
Schema的定义
在Sodino的MongoDemo工程中,需要对手机进行数据架构的定义。具体实现如下:
|
|