我想转移到mongoose,但我需要了解我的mysql表将如何映射到基于无sql的数据库.
特别是我使用连接来避免复制数据.那就是我有2个表(B&C),它们与1个表(A)相关.我可以在需要时将表A连接到B,或者在需要时将表A连接到C.
这将如何在mongoose/mongodb即noSQL中工作.
您描述的是标准化数据。数据库中的规范化是关系数据库的特征。面向文档的非SQL数据库(例如MongoDB)使用不同的范例,在该范例中,您围绕文档范例构造数据。在这个世界上,数据被整理成文档(JSON结构)。您可以指向其他结构,但总要权衡取舍。您必须确定什么级别的数据冗余有效,但这实际上是第二个问题。在类似MongoDB的世界中,您的首要任务是找出在上下文中最有意义的东西。例如,您可能有一个文档,表示带有嵌入式行项目的发票,但也有指向单独客户对象的指针。但是您也可能在同一个数据库中,针对客户设计了一个文档,其中嵌套了发票抬头,
在MongoDB世界中,联接通常很昂贵,但是在多种情况下以多种方式存储的大量数据是非常值得使用的功能-在正确的上下文中。
您不应将MongoDB视为关系DBMS的替代品,而应视为更大的多语言(多语言)持久性设计的一部分。您可能还需要使用Redis和Neo4J等其他数据工具来做不同的事情。
赛马;MongoDB不能满足所有需求。