node.js - 当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式?

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

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

最佳答案

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

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

https://stackoverflow.com/questions/13107976/

相关文章:

python - 如何将 MongoDB 查询转换为 JSON?

node.js - Node.js 上 MongoDB 连接的最佳实践是什么?

mongodb - 在 mongodb 中删除重复文档的最快方法

mongodb - 使用mongodb在UTC中存储日期时如何处理时区问题?

javascript - 如何在 MongoDB 中查询引用的对象?

c# - Mongodb -- 使用 c# 驱动程序包含或排除某些元素

mongodb - 使用 Mongo 集合中的特殊字符

python - pymongo-如何为字段以及其他查询参数设置不同的值

mongodb - 为什么不用mongodb?

javascript - 如果 .find() mongoose 没有找到任何东西,请执行某些操作