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

Ada*_*sen 3 doctrine mongodb symfony

对象IDMongoDB文档建议在某种情况下使用自定义键:

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

如何定义一个简单的模型对象呢?

Ada*_*sen 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;
  }

}
Run Code Online (Sandbox Code Playgroud)

请确保$word在致电前设置persist().