ODM MongoDB自动增量不起作用

时间:2017-05-15 12:16:21

标签: php mongodb zend-framework doctrine-odm zend-framework3

我是,试图增加字段,并没有得到任何结果; 这是我的代码:

class Query
{
    /**
     * @ODM\Id
     */
    protected $id;

    /**
     * @ODM\Field(type="int", strategy="increment")
     *
     */
    protected $my_id = 0;

    public function incrementMyId()
    {
        $this->my_id++;
    }
}

在行动中我尝试:

$query = new Query(); 
$query->incrementMyId(); 
$this->documentManager->persist($query);
$this->documentManager->flush();

字段 my_id 始终等于 int(1); 你可以帮我解决这个问题吗?感谢。

我使用ZF3,

  

" alcaeus / mongo-php-adapter":" ^ 1。
  " doctrine / doctrine-mongo-odm-module":" ^ 0.11。
  " doctrine / mongodb-odm":" ^ 1.1"

1 个答案:

答案 0 :(得分:0)

普通字段的策略increment表示数据库中的查询更新文档将使用$inc运算符而不是$set,与per documentation完全相同。

您似乎希望为整个集合同时拥有自动生成的ObjectId标识符和唯一的自动增量标识符。有关此类用法,请参阅我的other answer to a similar question