OrientDB允许创建服务器端javascript函数。 有没有办法在服务器端javascript函数内访问中间查询结果。例如。如果我返回查询结果,我会按预期获得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;
对于上述功能,我得到的空白值存储在&#34; col&#34;。
列中根据我的观察,OrientDb返回上下文而不是函数内的实际结果。
提前致谢。
答案 0 :(得分:1)
根据您的评论&#34; OrientDb返回上下文而不是函数内的实际结果&#34;我假设你正在使用Java 8.重点是,在这方面,OrientDB的行为在Java 8和Java 7之间有所不同(因为不同的底层Javascript引擎:Nashorn vs Rhino)。有几个已知(相关)问题,例如this thread。
答案 1 :(得分:1)
将c.code
替换为c.field("code")
。