OrientDB:在服务器端函数中访问查询结果数据

OrientDB: Accessing query result data in Server side function

OrientDB 允许创建服务器端 javascript 函数。 有什么方法可以访问服务器端 javascript 函数内的中间查询结果。例如。如果我 return 查询结果,我会按预期得到 json 响应数组。但是,如果我尝试在函数之间访问查询结果,例如:

var comps = db.query("SELECT code from Company");

db.begin();
for(var i=0; i<comps.length; i++){
  var c = comps[i];
  db.save({
    "@class":"Temp",
    col:  c.code
  });
}
db.commit();

return comps;

对于上述函数,我得到存储在列 "col" 中的空白值。

根据我的观察,OrientDb returns 上下文而不是函数内部的实际结果。

提前致谢。

根据您的评论 "OrientDb returns context instead of actual results inside the function" 我假设您正在使用 Java 8。重点是,OrientDB 的行为在 Java 8 和 Java 7 之间有所不同这方面(因为底层 Java 脚本引擎不同:Nashorn 与 Rhino)。有几个已知(相关)问题,例如参见 [​​=10=]。

c.code 替换为 c.field("code")