唯一性约束不会阻止在 Neo4j 上添加相同的数据

我想neo4j用用户创建一个数据库。我希望以下属性是唯一的:


用户名

电子邮件

令牌

我试过的:


CREATE CONSTRAINT ON (user:User) ASSERT user.username IS UNIQUE

CREATE CONSTRAINT ON (user:User) ASSERT user.email IS UNIQUE

CREATE CONSTRAINT ON (user:User) ASSERT user.token IS UNIQUE

但是,这并不妨碍我使用重复的电子邮件、用户名或令牌创建新节点。图中显示了 5 个节点,所有节点都具有相同的数据,但只有第一个是用户。我不想要这个,我想neo4j返回一个错误。


是否可以?

http://img2.mukewang.com/617f57910001194103130307.jpg

吃鸡游戏
浏览 298回答 2
2回答

慕斯709654

唯一性约束与标签和属性对相关联。您所有的唯一性约束都涉及User标签,因此 neo4j 只会在User节点上强制执行唯一性。如果您认为合适,您可以修改您的唯一性约束,以便它们涉及其他一些标签(例如,Base),并将该标签分配给您的所有节点。neo4j 允许一个节点有多个标签,因此您也可以继续使用该User标签(但不能作为约束的一部分)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go