如果我不打算使用大型(> 1000项)集合并且我已经熟悉SQL,那么将MongoDB用于Node.js应用程序而不是传统的SQL数据库(例如MySQL)是否有任何好处? / p>
答案 0 :(得分:6)
MongoDB是基于模式的基于文档的数据库。这意味着您可以插入带有其他嵌套对象的JSON对象。这可以使开发更容易,特别是对于原型设计。
对于一个小项目,为什么不呢?对于更大的项目,您应该做更多的研究。无论大小,都没有伤害做任何研究。您想要考虑应用程序如何使用数据库(读取与写入)以及MongoDB如何水平扩展,以及它如何处理故障。
有一种称为CAP定理的东西定义了NoSQL数据库。 MongoDB是CP。这个visual guide显示了不同数据库之间的关系。对您和您的申请最重要的是什么?
还需要考虑的是大多数NoSQL数据库都不符合ACID标准。如果你将MySQL与InnoDB一起使用,根据你的应用程序,这可能是一个重要的放弃。例如,transactions可能是您可能不想放弃的东西。
很多优点和缺点。最好问一问自己:我获得了什么?我放弃了什么?有很多东西,这取决于你的用例。
答案 1 :(得分:1)
对于小规模应用程序,有很多理由坚持使用简单的dbms。其中之一是提供MySQL的廉价托管服务的普遍可用性。另一个是易于部署和维护。
当然,如果您正在尝试学习使用MongoDB,那就去吧!