【问题标题】:Push in Doctrine MongoDB ODM推入 Doctrine MongoDB ODM
【发布时间】:2011-11-16 05:36:31
【问题描述】:

我在 Symfony 2.0.5 中使用 Doctrine MongoDB ODM

此代码不起作用:

 $dm = $this->get('doctrine.odm.mongodb.document_manager');
        $dm->createQueryBuilder('AcmeMyBundle:Entry\Entry')
            ->field('comments2')->push('some text')
            ->field('_id')->equals($entry_id) 
            ->getQuery()
            ->execute();

symfony profiler 说实际的查询是:

db.entries.find({ "_id": ObjectId("4ea97d482fd1288017000000") }).sort([ ]);

这有什么问题?

【问题讨论】:

    标签: symfony doctrine-odm


    【解决方案1】:

    您需要指定查询类型是更新。

        $dm = $this->get('doctrine.odm.mongodb.document_manager');
        $dm->createQueryBuilder('AcmeMyBundle:Entry\Entry')
            ->update()
            ->field('comments2')->push('some text')
            ->field('_id')->equals($entry_id) 
            ->getQuery()
            ->execute();
    

    【讨论】:

      猜你喜欢
      • 2015-04-10
      • 1970-01-01
      • 2017-08-13
      • 2016-08-26
      • 2017-08-14
      • 1970-01-01
      • 2012-12-20
      • 2014-04-19
      • 2016-06-26
      相关资源
      最近更新 更多