mongodb中的均值数据库与关系数据库
我正在学习平均框架。我不明白为什么mongodb如此流行,以至于它是在框架中构建的,而您不能轻松地更改数据库(或者我可以吗?) 我的问题是mongodb中的均值数据库与关系数据库,mongodb,mean-stack,Mongodb,Mean Stack,我正在学习平均框架。我不明白为什么mongodb如此流行,以至于它是在框架中构建的,而您不能轻松地更改数据库(或者我可以吗?) 我的问题是 为什么在MEAN框架中使用mongodb 为什么在noSql和Sql数据库之间没有任何选择 MEAN框架(使用mongodb)是否仅适用于某些类型的web项目或任何类型的web项目 如何在mongodb中创建这个示例数据库 例如,如果我有这个关系数据库: User id name Car id user_id car_make_id
- 为什么在MEAN框架中使用mongodb
- 为什么在noSql和Sql数据库之间没有任何选择
- MEAN框架(使用mongodb)是否仅适用于某些类型的web项目或任何类型的web项目
- 如何在mongodb中创建这个示例数据库
User
id
name
Car
id
user_id
car_make_id
name
CarMake
id
Name
比查询更容易:
- 我失去了真正的数据库事务处理能力
- 如何在mongodb中最好地实现该数据库?我可以使用相同的数据库结构,但速度会慢一些,因为在创建上述查询时,我必须向数据库发出更多请求。或者使用$lookup的查询将比sql数据库中的real join慢-我说的对吗
User
id:
name:
cars: []
Car
id:
car_make_id:
name:
CarMake
id:
Name:
或者我可以像这样更改数据库结构。车辆列表嵌入在用户内部
User
id:
name:
cars:
[
{
id:
car_make_id:
name:
}
]
CarMake
id:
Name:
但我如何才能得到:让我看看我系统中的所有汽车,车主和他们的类型。你能帮我看看mongodb的世界吗?意思是堆栈基本上是用来创建单页应用程序的。并重点关注页面(我指的是应用程序的体系结构) 1) 。mongoDb的最佳实践是为页面创建集合。这意味着如果一个页面使用多种类型的数据。如果您可以在集合中保存文档(在一个集合中包含多种类型的数据,但在某些情况下,我们需要进行嵌入),这会更好 2) 。Mongodb使用JSON进行事务处理,并且很容易在javascript框架中使用 3) 。Mongodb使用缓存(它使用RAM将最近的数据保存在内存中),就像javascript一样。因此,快速查询很容易(因为硬盘的IO更少) 作为你的例子,你可以使用
User:{id:
name:
cars:
[
{
id:
car_make_id:
name:
}
]}
CarMake:{
id:
Name:}
因为您可以使用第一个集合的id进行索引。因为您可以一次检索所有数据。(如果嵌入集合。文档中的所有数据都在硬盘中的近块中。因此数据检索速度很快)在此数据库结构中。如何在系统中查看所有车辆?我必须检索所有用户并读取所有嵌入的汽车?不。您可以使用带有“cars.name”的distinct命令。或者,您可以使用聚合框架来实现这一点。但是当你设计数据库的时候。首先设计应用程序和数据库。(当我们使用关系数据库时,相反的事情。)如果你有帮助,请考虑接受答案。这将有助于其他人解决同样的问题。