1
存在我有一个独特的约束边缘:OrientDB - 创建边缘如果不与子查询
CREATE CLASS hasAssignee extends E
CREATE PROPERTY hasAssignee.out LINK Assignable
CREATE PROPERTY hasAssignee.in LINK User
CREATE INDEX UniqueHasAssignee ON hasAssignee(out,in) UNIQUE
我要多,如果他们还没有在一个查询中存在创建边缘。如果它们确实存在,则可以替换它们,或者根本不添加它们。类似的东西,但没有错误的可能性:
CREATE EDGE hasAssignee FROM (SELECT FROM Project WHERE id=:id) TO (SELECT FROM User WHERE login in :login)
从我发现可以只处理一个边缘在一个时间(至少我未能出示由工作室查询可解析)
UPSERT我看到几个possibe解决方案(但我没有看到这样的事情在文档):
- 像CREATE IFNOTEXISTS
- 软指标,不抛出异常,根本不产生额外的边缘
- 删除唯一索引,创建副本,每个查询(?)
是否有可能做这样的事情在orientdb后莫名其妙地删除重复?我应该填写一个请求吗?
投票?用+1添加评论还是使用github upvote更好? (对我来说+1注释是垃圾,我只是在问你是否在计数) –
这不是科学严谨的,但我会说我们都在计数,所以upvote是OK –