我正在使用OrientDB服务器端Javascript函数来定义业务逻辑。我的查询是如何使用LINKSET在OrientDB的Javascript函数中添加,删除和检查是否存在?
例如,如果我的公司雇员= [#4:1,#4:5,#4:3]
如何将#4:6添加到linkset?添加后应该是[#4:1,#4:5,#4:3,#4:6]
如何从链接集中删除#4:5?删除后应该是[#4:1,#4:3,#4:6]
如果我再次将#4:1添加到linkset,它会检查重复并返回错误,还是在添加到linset之前是否需要检查有问题?如果我需要这样做,该怎么做?
我确信必须有一些方法来添加,删除和检查linkset& linkmap,我不仅仅知道这些。
任何指针都会有所帮助。
答案 0 :(得分:7)
1)如果你的记录有RID#13:33:
update #13:33 add company.employees = #4:6
update #13:33 remove company.employees = #4:5
3)使用set,你不能有重复,所以如果你多次添加同一个项目,它就会被忽略而没有错误。
答案 1 :(得分:1)
根据this post,OrientDB v3.0中的语法已更改:
现在,要将元素添加到链接集中,您需要使用此处的串联语法。 http://orientdb.com/docs/3.0.x/sql/SQL-Syntax.html在数组串联中
因此您的添加示例为:
update #13:33 set company.employees= company.employees || #4:5
删除没有更改,因此语法仍然:
update #13:33 remove company.employees = #4:5