#database #indexing #arangodb #unique-constraint #unique-index
Вопрос:
Я хочу, чтобы ребро (в пределах одной коллекции ребер) между документами x и y существовало только один раз, и хочу, чтобы это выполнялось базой данных, а не клиентским кодом.
Коллекции Edge поставляются с _from
_to
уже проиндексированными. Я попытался создать постоянный индекс с включенными обоими и уникальным. Веб-интерфейс весело принимает (зеленый тостер, потребуется некоторое время msg и т. Д.), Но индекс никогда не отображается. В некоторых старых дискуссиях я читал, что индексирование этих встроенных полей запрещено, но я не уверен, какова текущая ситуация сейчас.
Конечно, есть хитрые способы сделать это (создать пользовательское свойство, представляющее собой объединение _from и _to и индексирование этого), но хотелось бы знать, поддерживается ли это каким-либо встроенным способом.
Комментарии:
1. Самый простой способ, который я вижу, — это использовать объединение
_to
и_from
как_key
, ведущее к идентификаторуedgecol/_to_from
.