Php 我需要介绍一下MongoDB/NoSQL数据库

Php 我需要介绍一下MongoDB/NoSQL数据库,php,mysql,mongodb,codeigniter,nosql,Php,Mysql,Mongodb,Codeigniter,Nosql,我大量使用PHP/mySQL/CodeIgniter,编写sql语句来处理/操作数据。我觉得做所有这些都很简单,我也听说了MongoDB,一种无模式数据库的优点 在MySQL中,模式帮助我了解模型的结构。通常,我会画一个类图,上面有一些基本的东西,比如:id、标题、描述、日期 让我震惊的是,MongoDB看起来非常简单,很难理解从哪里开始。从我听到/读到的来看,它没有模式。我如何知道它将返回什么类型 如何构建模型,如何在不同的“表”之间添加关系 添加关系和映射数据的标准方法是什么?我试过玩它,但

我大量使用PHP/mySQL/CodeIgniter,编写sql语句来处理/操作数据。我觉得做所有这些都很简单,我也听说了MongoDB,一种无模式数据库的优点

在MySQL中,模式帮助我了解模型的结构。通常,我会画一个类图,上面有一些基本的东西,比如:id、标题、描述、日期

让我震惊的是,MongoDB看起来非常简单,很难理解从哪里开始。从我听到/读到的来看,它没有模式。我如何知道它将返回什么类型

如何构建模型,如何在不同的“表”之间添加关系

添加关系和映射数据的标准方法是什么?我试过玩它,但不确定我所做的是正确的方式

我试过阅读一些手册之类的东西,但找不到一篇好文章帮助我从mySQL过渡到MongoDB

我能看到mySQL和MongoDB模型的比较吗?像积垢这样简单的东西

如何开始,从哪里开始?

您可以开始

如何构建模型,如何在不同的“表”之间添加关系

非关系方法是数据库解决方案的最佳途径,它可以水平扩展到>多台机器

MongoDB将数据存储在JSON文档中(我们将其序列化为BSON)。JSON为我们提供了一个丰富的数据模型,它可以无缝地映射到本机编程语言类型,并且由于其模式较少,因此与具有强制模式(如RDBMS)的系统相比,可以更容易地改进数据模型


也请检查,并且

仅给出部分答案,但请尝试将您的数据库仅视为在请求之间存储内容的地方。数据库不是应用程序,应用程序(代码)是应用程序。数据库仅用于持久性。这与正确的、完整的OOP方法很相配,其中类/对象表示模型,而不是模型表示数据库。@deceze很有意义,因此基本上是根据应用程序而不是数据库设计模型。.对,您直接使用类/对象实现业务逻辑,它体现了一种特定的状态,并注意这种状态只会根据业务逻辑(
private
properties、setter等等)而改变。数据库只是为了在脚本结束后保持这种状态。另外,我强烈建议您尝试Doctrine或Propel ORM。Propel不支持MongoDB,但您应该检查它们,以避免自己编写完全冗余的CRUD代码。