我正在使用Doctrine MongoDB ODM和Symfony 2.0.5
此代码无效:
$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([]);
它出了什么问题?
答案 0 :(得分:2)
您需要指定查询类型是更新。
$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();