2017-05-15 11 views
0

나는 필드를 증가시키고 결과를 얻지 않으려 고합니다. 다음은 내 코드입니다 :ODM MongoDB 자동 증가가 작동하지 않습니다.

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); 이 문제를 해결할 수 있습니까? 감사. I는 ZF3를 사용

,

"alcaeus/몽고-PHP 어댑터" ".^1
"교리/교리 몽고-ODM 모듈 ":"^ 0.11.
"교리/MongoDB를-ODM" "^ 1.1"

답변

0

일반 필드에 대한 전략 increment 데이터베이스에서 쿼리 업데이트 문서가 정확히 per documentation로 대신 $set$inc 연산자를 사용하는 것을 의미합니다.

전체 컬렉션에 대해 자동으로 생성 된 ObjectId 식별자와 고유 한 자동 증가 식별자를 모두 갖고 싶은 것 같습니다. 그러한 사용법은 내 other answer to a similar question

을 참조하십시오.