mongodb是Schema無關的,那麼爲什麼要mongoose?
发布于 11 年前 作者 telnetning 4814 次浏览 最后一次编辑是 8 年前

用了mongoose首先就得定義好表結構,也就是Schema,這樣一個Collection裏面各個document的字段都必須相同,這樣豈不是很不方便,倒像是回到了SQL,這就是Mongoose的初衷麼?或者是我理解有誤?

Mongoose的作者說,它在保持文檔靈活性和易改動的前提下,引入了特定的屬性對其做一定的約束,想問下,這個靈活性是如何保持的,我怎麼感覺定義了Schema之後就沒有靈活性了?

4 回复

你要明白这么做目的是什么,不是看他怎么说 目的是规范你的DOC 对象,不能乱搞,保存的时候,要做类型检测,那检测原形在那里啊???就是先定义好了 那好,有没有其它方式呢?应该没有了,因为JS是弱类型,它的检测类型必须是强类型,没办法,不管怎么搞都少不了这步,弱转强步聚

嘿嘿,有个看了,觉得这不是多余的吗? 其实你是缺少开发经验,你如果认为这是多余的,那存入的数据是不是乱放? 什么数据才是乱放?答案是垃圾数据

恩啊,又看了一些文檔,大致明白了這樣做的原因,比如便於對數據進行檢查。而且mongoose也提供了less-Schema的方式。謝謝你的回答

Schema Free !== No Schema

回到顶部