42

我是 mongodb 的超级新手。我正在使用 mongoose 从 node.js 访问 mongodb,并且知道如何让事情正常工作,但我认为我不明白为什么它会以这种方式工作。

最重要的是,当 mongodb 的突出特点之一是它没有模式时,我不明白为什么 mongoose 有“模式”。有人可以启发我吗?谢谢你。

4

1 回答 1

29

没有模式的数据是没有用的。你从 MongoDB 得到一个文档,你用它做什么?阅读一些领域?您需要知道这些字段的名称、类型和含义。那是一个模式。

当人们说 MongoDB “没有模式”时,他们的真正意思是它不像 SQL 数据库那样强制执行模式。MongoDB 将模式问题推到您的应用程序级别,您可以更灵活地处理它们。例如,为了向您的文档添加一个新字段,您不需要ALTER对您的集合执行全有或全无(可能有数百万个条目)。您只需将该字段添加到您的 ODM (Mongoose) 架构中即可。

于 2012-10-28T13:36:23.233 回答