django - 为什么在 django 项目中使用 mongoDB
问题描述
正如我们所知,我们可以django
使用postgresql
数据库或额外的可扩展性和功能构建出色的应用程序,有时我们使用redis
我注意到有些人mongodb
在他们的 django 项目中使用。我的问题是,他们在 django 项目中使用 mongoDB 的具体目的是什么?
为什么postgresql或redis不能实现这些功能?
解决方案
mongoDB
并且redis
是非关系(No-SQL) 数据库。postgresql
是一个关系(SQL) 数据库。
选择数据库的类型取决于人们的需求。
SQL 数据库
SQL 数据库被称为关系数据库,具有基于表的数据结构,需要严格的预定义模式。
例如:Oracle、MySQL、Microsoft SQL Server 和PostgreSQL
无 SQL 数据库
NoSQL 数据库或非关系数据库可以是基于文档的、图形数据库、键值对或宽列存储。NoSQL 数据库不需要任何预定义架构,让您可以更自由地处理“非结构化数据”。<br />
示例:
文档:MongoDB和 CouchDB
键值:Redis和 DynamoDB
宽列:Cassandra 和 HBase
图:Neo4j和亚马逊海王星。
他们在他们的 django 项目中使用 mongoDB 的情况是什么以及他们的具体目的是什么?
这有很多原因。
我建议您阅读本文以了解人们为什么以及在什么情况下选择 No-SQL DB 而不是关系 DB - No-SQL vs Relational DB
推荐阅读
- r - 根据另一列的最大值将列值放入变量中
- python - 在 Thonny IDE 中安装和使用 pyperclip
- python - Python Selenium WebDriverWait 元素可见未按预期工作
- spring-boot - SpringBoot 动态构建查询
- swift - UI 测试:如何在表单中查询选择器值
- security - kubernetes securitycontext runAsNonRoot 不工作
- c# - 为什么 Parallel 类的 For 方法会随着时间的推移变得更快?
- javascript - 函数值是在使用 return console.log 时定义的,而不是简单的 return 语句
- grafana - 我们可以在 Grafana 混合数据源(MS SQL Server)中将一个数据源查询的输出设置为其他数据源查询的输入吗
- javascript - 想要使用拼接方法从对象数组中删除动态附加的卡片,但循环迭代得到错误的值