我最近第一次使用MongoDB,发现它非常容易使用,性能也非常好.这就引出了我的问题——为什么不使用MongoDB?

假设我正在实施一个Q&一个apply.我的方法是在MySQL数据库中实现用户数据,然后使用MongoDB进行问答存储——一个集合存储一个问题和所有回答.

这种方法有什么问题吗?

推荐答案

MongoDB听起来是解决您的问题的一个很好的应用程序,但您不使用它有很多原因.

MongoDB不太适合需要:

  1. 多对象事务:MongoDB只支持单个文档的ACID事务.
  2. SQL:SQL是众所周知的,很多人都知道如何编写非常复杂的查询来完成很多事情.这种知识可以在MongoDB的查询语言特定于它的许多实现中传递.
  3. 强酸保证:MongoDB允许不一致的读取,这在某些应用程序中是可以的,但在所有应用程序中并非如此.
  4. 传统BI:存在许多非常强大的工具,允许OLAP和其他强大的BI应用程序,以及那些运行在传统SQL数据库上的应用程序.

Mongodb相关问答推荐

MongoDB—基于数组中同一文档中的另一个字段更新字段

将消息流式传输到WebSocket

优化游戏应用程序的反馈表单后端设计

pymongo - ifnull 重新调整整个对象而不是特定字段

MongoDB:从开始日期和结束日期数组中匹配特定日期的聚合查询

定期自动轮换 MongoDb 集合

MongoDB聚合 - 用另一个数组过滤数组

从嵌套数组中 id 匹配的另一个集合中获取所有字段

MongoDB 支持的最 Big Data 库数

MongoDB C# 驱动程序 2.0 InsertManyAsync 与 BulkWriteAsync

Spring Boot MongoDB 连接问题

MongoDB 使用自定义表达式或函数进行排序

Select 匹配mongodb中两个字段的concat值的记录

如何在 MongoDB 中进行内部连接?

NoSql 参考数据

Mongoose 的保存回调是如何工作的?

如何解决 ClassNotFoundException:com.mongodb.connection.BufferProvider?

Mongoose 连接认证失败

MongoDB 在 mongoengine 中使用 OR 子句

MongoMapper 和迁移