【问题标题】:Setting a document property to be unique将文档属性设置为唯一
【发布时间】:2017-05-10 06:36:45
【问题描述】:

使用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;
}

有没有办法让所有Article 文档上的title 字段唯一

【问题讨论】:

    标签: php doctrine-odm doctrine-phpcr


    【解决方案1】:

    据我所知,无法将 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/

    【讨论】:

    • 我不使用 MongoDB,而是使用 MySQL 作为持久性后端。但我正在寻找使用 PHPC-ODM 的解决方案。也许使用一些提供自定义注释的第三方库。
    猜你喜欢
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2019-08-08
    • 2018-09-02
    • 2018-09-25
    • 1970-01-01
    相关资源
    最近更新 更多