С помощью Доктрина 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
документы?
Насколько я знаю, невозможно установить индексы из Doctrine ODM в базу данных Mongo (или любую другую базу данных документов). Это означает, что вы можете определить их в своем документе, но вам нужно будет объявить эти индексы в вашей базе данных mongo с помощью консоли.
https://docs.mongodb.com/manual/indexes
https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/
В качестве альтернативы вы можете использовать любой из доступных клиентов mongo для упрощения создания индексов с помощью пользовательского интерфейса:
Других решений пока нет …