Если мы хотим, чтобы обеспечить соблюдение ограничения, что каждый пользователь будет иметь уникальный адрес, связанный с ними, мы могли бы написать:Уникального ограничения по коллекциям на узлах
CREATE CONSTRAINT ON (X:User) ASSERT X.email IS UNIQUE
Рассмотрим случая, когда адрес электронной почты являются коллекциями, но нам все еще нужно иметь ограничение уникальности, так что адрес электронной почты появляется только один раз в коллекции User.username
для всех пользователей. Другими словами, следующее никогда не должно произойти:
(a:User {username: "user1234", email: ["[email protected]", "[email protected]"])
(b:User {username: "someperson", email: ["[email protected]", "[email protected]"])
так [email protected]
появляется на обоих a.email
и b.email
.
Есть ли способ сделать это в Neo4j, и если да, то как?