javascript - MongoDB 是存储 JSON 结构的好选择吗?

标签 javascript mysql mongodb

MongoDB 似乎很有吸引力,因为在 JavaScript 前端应用程序中,尤其是那些利用 Backbone 及其集合的应用程序,所有数据和应用程序状态都组织在深度嵌套的 JSON 结构中。

在 MySQL 中构建关系数据库模式可能会很痛苦,因为您实质上是将 JSON 对象分解为粒度表,确定外键和约束。对于不以维护数据库为生的人来说,这确实是一种过度锻炼。

MongoDB 会解决这些问题吗?我假设我可以简单地保存一个 Backbone 集合,如果它的结构正确并且能够稍后在其他相关文档中加入数据吗?或者 MongoDB 是否矫枉过正,更像是一台性能机器而不是文档存储解决方案?

最佳答案

MongoDB seems appealing because in JavaScript front-end applications, especially those that leverage Backbone and its collections, all the data and application state is organized in deeply nested JSON structures.

是的,在 mongodb 中你可以存储任何 json 结构。嵌套是 mongodb 的优点之一。您可以以自然的方式存储数据而无需考虑关系。您可以根据客户端 JavaScript 的要求直接存储数据。

Building a relational DB schema in MySQL can be a pain

这肯定在很大程度上取决于您想要存储的结构,但如果您谈论深度嵌套的 json 结构,mongodb 将最适合您。

Or is MongoDB overkill and more of a performance machine instead of a document storage solution?

不,mongodb 不仅仅是性能机器,它是非结构化、深度嵌套文档的完美存储。同时 mongo 具有非常好的性能,尤其是在处理非常深的文档时(因为不需要加入它们)。

关于javascript - MongoDB 是存储 JSON 结构的好选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9373889/

相关文章:

python - 无法在 PySide2 上加载 QMYSQL 驱动程序

spring - 多重聚合与Unwind - Spring data Mongodb

javascript - 在关联数组上的 for in 迭代的控制台输出末尾未定义,JavaScript?

javascript - 如何在 if 和 else 语句中进行空检查

javascript - 在 Ajax 请求后动态附加 HTML 中呈现组件

javascript - 使用 jQuery 删除选择列表的选项返回此错误 "unable to get property length of undefined or null reference"

mysql - 使用两行从另一个表中删除重复项的最快方法

php - 使用php将关联数组插入mysql

javascript - 是否可以将元素插入 MongoDB 文档中的数组中间?

mongodb - 如何使用 ID 数组查询 mongodb