我已经完成了关于NodeJS/Express
,ReactJS/Redux
的udemy课程,有些课程是MERN STACK
,我确实很喜欢。但是,唯一的缺点是讲师没有真正的解释是选择MongoDB
。在学习这些课程之前,我始终将PostgreSQL
或MariaBD
用于我的所有项目持久层。现在我只使用MongoBD
在所有这些课程中,都不知道哪种情况是最佳选择。所有讲师都说,由于数据存储为json json数组,因此很容易解析,因为它与Javascript
自然兼容JSON format
。我真的很想了解使用Mongo而不是relationnal database
的技术原因,或者不按照任何给定的项目要求而不是仅仅因为指导员而使用它的原因
答案 0 :(得分:2)
我曾经在SQL和MongoDB中工作过。
MongoDB
From my experience MongoDB is best suitable when you follow agile methodologies
wherein you don't really know what your JSON object will have to contain.
SQL
SQL will be best suitable where JSON object is not going to be changed, like
for bank projects, where you know the exact format of JSON which is never going
to be changed.
DIFF
Why I am saying this is, whenever we need to add some extra fields or need to
link some fields with primary, foreign keys it would be pain and wouldn't know
what could go wrong.
Wherein in MongoDB if you need to reference some field you will just need to
add key ref with that field and you are done.
MongoDB
MongoDB would be great when one of your key from one JSON object is to be
referenced to mutiple JSON object by just adding that field name in ref (ref:
'user')
请对此答案进行投票,以便有需要的人找到此答案,并获得MongoDB最适合他们的时间。
答案 1 :(得分:1)
根据我的个人经验,当项目有点像社交媒体,必须维护帖子,评论,喜欢,阻止,取消阻止时,我将使用SQL。我希望你能明白。
Mongo Db也可以用于以上项目类型,但是其聚合变得令人痛苦且难以理解。
Mongo Db适用于除社交媒体之外的所有项目。再次根据我的经验。
答案 2 :(得分:1)
我认为在以下情况下首选SQL:
MongoDB更适合:
我会说,当不确定使用SQL时。从SQL迁移到NoSQL比改变主意要容易得多。
答案 3 :(得分:0)
当您拥有大量无模式数据时。 当您的数据和用户将无限增长并且您需要可扩展的云数据库解决方案时。 当您需要在CRUD的某些方面提高性能时。 当您的软件堆栈基于JS时。 您可以查看此youtube视频https://youtu.be/K8xsuFgCRkU
中的其他原因