UniqueIndex在EmbeddedDocument中不起作用

时间:2017-10-02 13:48:40

标签: mongodb symfony doctrine-odm

我看到在嵌入文档中忽略了UniqueIndex约束,这是一个例子:

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

/**
 * @MongoDB\EmbeddedDocument()
 */

class Service
{
    /**
     * @MongoDB\Id()
     */

    protected $id;

    /**
     * @MongoDB\Field("type=string")
     * @MongoDB\UniqueIndex()
     */
    protected $label;
...

当我插入具有相同标签的2行时,当我需要获得有关重复键错误的代码异常11000时,它们被接受。 任何解决方案?

关键字

  • Symfony 3.2
  • ODM 1.1.5
  • MongoDB 3.4.4

1 个答案:

答案 0 :(得分:0)

问题已经回答:MongoDB: Unique Key in Embedded Document

  

唯一索引仅存在于集合中。要在文档中强制实施唯一性和其他约束,您必须在客户端代码中执行此操作。 (可能virtual collections允许这样做,你可以投票支持它。)