我正在领导一个新项目,我们确信MongoDB是数据库的正确选择。我们已经决定架构将是SOA,因此web部分将使用Symfony进行开发,服务部分将使用轻量级REST框架Tonic进行开发。
现在,在服务部分,我们将与MongoDB进行通信,为此,我们研究了许多可用的MongoDB库:Doctrine MongoDB ODM、Mondango、ActiveMongo、MongoRecord等。然而,我们不确定该选择哪一个。
我想知道是否有人可以与这些图书馆分享他们的经验,以便我们做出正确的选择。以下是我们认为库应该具有的一些属性:
- 用于定义文档的普通PHP类(而不是数组/配置文件)
- 支持引用
- 运营效率
- 易于理解的API
就我个人而言,我会选择Doctrine2 ODM。鉴于你已经决定将Symfony作为你的举重框架,据我所知,这对组合非常一致。你应该能够使用这个https://github.com/doctrine/DoctrineMongoDBBundle很快将两者结合起来。
原则设置勾选了你为项目目标设置的所有框,并且很容易使用。最重要的是,它是一个活跃的项目,因此错误修复/功能/文档更新会定期发生。
我们使用了类似的设置,除了zend框架而不是Symfony,我们对结果非常满意。
希望这能有所帮助。