为什么当mongodb的好处应该是它的架构更少时,mongoose使用架构?

Vla*_*lad 32 mongoose mongodb node.js

我是mongodb的超级新手.我正在使用mongoose从node.js访问mongodb,并且知道如何让事情发挥作用,但我不认为我理解为什么它会像它一样工作.

最重要的是,当mongodb的一个突出特点是它没有架构时,我不明白为什么mongoose有'架构'.有人可以开导我吗?谢谢.

Vas*_*nov 23

没有架构的数据是无用的.你从MongoDB获得了一个文件,你用它做什么?阅读一些字段?您需要知道这些字段的名称,类型和含义.这是一个架构.

当人们说MongoDB"没有架构"时,它们实际上意味着它不像SQL数据库那样强制执行架构.MongoDB将架构问题推到了应用程序级别,您可以更灵活地处理它们.例如,为了在文档中添加新字段,您不需要ALTER对集合执行全有或全无- 可能有数百万条目.您只需将该字段添加到您的ODM(Mongoose)架构中即可.

  • 不完全正确.实时应用程序可以依赖于动态创建的字段.向Mongoose模型添加字段意味着新的部署过程.有些ODM不需要固定的模式定义,例如Mongorito. (4认同)