Существует ли (встроенный) способ создания уникального ограничения на ребра с помощью ArangoDB?

#database #indexing #arangodb #unique-constraint #unique-index

Вопрос:

Я хочу, чтобы ребро (в пределах одной коллекции ребер) между документами x и y существовало только один раз, и хочу, чтобы это выполнялось базой данных, а не клиентским кодом.

Коллекции Edge поставляются с _from _to уже проиндексированными. Я попытался создать постоянный индекс с включенными обоими и уникальным. Веб-интерфейс весело принимает (зеленый тостер, потребуется некоторое время msg и т. Д.), Но индекс никогда не отображается. В некоторых старых дискуссиях я читал, что индексирование этих встроенных полей запрещено, но я не уверен, какова текущая ситуация сейчас.

Конечно, есть хитрые способы сделать это (создать пользовательское свойство, представляющее собой объединение _from и _to и индексирование этого), но хотелось бы знать, поддерживается ли это каким-либо встроенным способом.

Комментарии:

1. Самый простой способ, который я вижу, — это использовать объединение _to и _from как _key , ведущее к идентификатору edgecol/_to_from .