有没有办法在没有边缘的情况下制作任意OrientDB记录的副本?我修改了一个原始命令(来自文档)来复制记录并添加了fetchplan到它,但它不起作用(坦率地说,看起来像解决这个特定命令的问题,但希望我错了)
这个执行得很好,但边缘仍然存在:
insert into Test from (select from Test where @rid=#102:119 fetchplan in_*:-2 out_*:-2)
com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.(SELECT FROM Test WHERE @rid = #102:119 FETCHPLAN in_*:-2 out_*:-2)
这个错误:
insert into Test content (select @this.toJSON('fetchPlan:in_*:-2 out_*:-2') from Test where @rid=#102:119)
也试过像
这样的人{{1}}
但这也不起作用。有什么想法吗?我在东方2.1.x
答案 0 :(得分:2)
作为解决方法,您可以将此javascript函数与一个参数(id)
一起使用var g=orient.getGraph();
var b=g.command("sql","select @this.toJSON('fetchPlan:in_*:-2 out_*:-2') as json from "+ id);
if(b.length>0){
var query="insert into Test content " + b[0].getProperty("json") ;
var myVertex=g.command("sql",query);
g.commit();
return myVertex;
}
使用以下命令
select expand(result) from (select yourFunction(#102:119) as result)
答案 1 :(得分:0)
这里是如何选择没有传入或传出边缘的所有顶点(V):
select from (select @this, bothE().size() as n from V) where n = 0
答案 2 :(得分:0)
我尝试了你的查询,我遇到了同样的问题。 我用这种方式解决了它:
insert into Test from select <property-name> from Test where @rid=#102:119
如果你想和fatchplan一起使用,试试这个:
insert into Test from select <property-name> from Test where @rid=#102:119 fetchplan in_*:-2 out_*:-2
希望它有所帮助。
此致
MICHELA