如何使用我自己的数据作为Doctrine MongoDB映射文档的ID而不是自动生成的对象ID?

时间:2012-06-08 17:21:50

标签: mongodb symfony doctrine

MongoDB documentation on Object IDs建议在某种情况下使用自定义键:

  

如果您的文档具有不可变的自然主键,我们建议您在_id中使用它而不是自动生成的ID。

如何定义一个完全符合这个要求的简单模型对象?

1 个答案:

答案 0 :(得分:5)

<?php

namespace Acme\HelloWorld\Model;

use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * @MongoDB\Document
 */
class KindWord {

  /**
   * @MongoDB\Id(strategy="NONE")
   * @var string
   */
  private $word;

  public function getWord() {
    return $this->word;
  }

  public function setWord($word) {
    $this->word = $word;
  }

}

请务必在致电$word之前设置persist()