gpt4 book ai didi

mongodb - 使用相同的实体/文档类通过 Doctrine 在 MongoDB 和 MySQL 中存储数据

转载 作者:可可西里 更新时间:2023-11-01 09:12:32 28 4
gpt4 key购买 nike

我需要帮助。这是情况。我正在使用 Symfony2 + FOSRestBundle,我创建了我的实体类以通过 Doctrine 将我的数据存储在 MySQL 中。我还写了所有的 Controller 来获取数据并直接将其翻译到我的数据库中。这很好用。

namespace Stat\ContentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="agegroups")
*/
class Table
{
* @ORM\Column(name="id", type="smallint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;

/**
* @ORM\Column(name="description", type="string", length=50)
* @Type("string")
*/
protected $description;

现在我确实想使用相同的实体声明并使用更多信息扩展它以用于 MongoDB。我想将我的数据存储在 MySQL 中,另外还想存储在 MongoDB 中。要通过 mongodb-odm-bundle 重用代码,我必须使用命名空间文档——这只是问题的开始。如果我想重用我的 Controller ,我也必须为 MongoDB 重写该代码。

namespace Stat\ContentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
* @MongoDB\Document
* @ORM\Entity
* @ORM\Table(name="agegroups")
*/

class Table
{
* @ORM\Column(name="id", type="smallint")
* @ORM\Id
* @MongoDB\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;

/**
* @ORM\Column(name="description", type="string", length=50)
* @MongoDB\String
* @Type("string")
*/
protected $description;

/**
* @ORM\Column(name="mySqlOnly", type="string", length=50)
* @Type("string")
*/
protected $mySqlOnly;

/**
* @MongoDB\String
*/
protected $mongoDbOnly;

有没有一种简单的方法可以将 Doctrine 数据库模式用于基于文档的数据库和关系数据库?

最佳答案

也许这有帮助: Blending the ORM and MongoDB ODM

在 Doctrine2 中使用数据库 nybrid 很容易,因为你有一个实体加上一个文档管理器。

关于mongodb - 使用相同的实体/文档类通过 Doctrine 在 MongoDB 和 MySQL 中存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315593/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com