尝试使用OrientDB, 我正在尝试从函数执行链接到实例OFunction。
有一个名为“testFunction”的OFunction实例和@rid#6:2;
我的班级有一个属性:
create property MyClass.myFunction LINK OFunction
我的例子是:
insert into MyClass set myFunction = #6:2
现在我想创建一个HTTP REST可执行函数,它选择我的实例并执行其链接函数。
我明白了
db.query('select from MyClass limit 1')[0].field('myFunction');
正确地导致了
"@type": "d", "@rid": "#6:2", "@version": 1, "@class": "OFunction", ...
如何通过此引用执行它?
我知道它可以通过以下名称执行:
db.getMetadata().getFunctionLibrary().getFunction("test1").execute();
但是按字符串搜索函数是没有意义的。
谢谢。
答案 0 :(得分:0)
您可以使用此代码
String query="select myFunction.name as name from MyClass limit 1";
Iterable<ODocument> it=db.command(new OCommandSQL(query)).execute();
if(it.iterator().hasNext()){
ODocument doc1=it.iterator().next();
String name=doc1.field("name");
Iterable<ODocument> it2=db.command(newOCommandFunction(name)).execute();
for(ODocument doc2:it2){
System.out.println(doc2.getIdentity());
}
}
希望有所帮助