将文档属性设置为唯一

时间:2017-05-10 06:36:45

标签: php doctrine-odm doctrine-phpcr

使用Doctrine PHPCR-ODM,是否有办法对属性应用约束以防止同一文档类型出现重复值?

例如(故意省略了getter和setter):

namespace App\Document;

use Doctrine\ODM\PHPCR\Mapping\Annotations as PHPCRODM;

/**
 * @PHPCRODM\Document
 */
class Article
{
    /**
     * @PHPCRODM\Field(type="string")
     */
    protected $title;
}

有没有办法在所有title文件上设置Article字段唯一

1 个答案:

答案 0 :(得分:0)

据我所知,无法将Doctrine ODM中的索引设置为Mongo数据库(或任何其他文档数据库)。这意味着您可以将它们定义到文档中,但是您必须使用控制台在mongo数据库中声明这些索引。

https://docs.mongodb.com/manual/indexes https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/

或者,您可以使用任何可用的mongo客户端,使用UI更轻松地创建索引:

http://3t.io/blog/adding-modifying-mongodb-indexes/