我在尝试执行以下代码时正在关注视频tutorial
for (var i = 0; i < n; i++) {
var name = prefix + "_" + i;
var email = name + "@me.com";
member = {
"@class": "Member",
"name": name,
"password": name,
"email": email
};
var result = gdb.save(member);
}
gdb.commit();
return n;
我收到了错误消息
sun.org.mozilla.javascript.EcmaError: ReferenceError: "gdb" is not defined.
(<Unknown source>#15) in <Unknown source> at line number 15
ReferenceError: "gdb" is not defined. (<Unknown source>#15)
意识到可能没有&#34;隐式变量gdb
&#34;作者提到的,我在循环之前添加了声明如下
var gdb = orient.getDatabase();
此时错误消息说
Error on parsing script at position #0: Error on execution of the script Script:
newPOJS ------^ sun.org.mozilla.javascript.internal.WrappedException: Wrapped
com.orientechnologies.orient.core.exception.OConfigurationException: No database
instance found in context (#2) in at line number 2 Wrapped
com.orientechnologies.orient.core.exception.OConfigurationException: No database
instance found in context (#2) No database instance found in context
快速研究指出this question以及显然是开放的bug。应用建议的解决方法,即从配置文件中删除以下块 我再次尝试只是为了得到另一个错误
com.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper.save matching JavaScript argument types (object) is ambiguous; candidate methods are:
class com.orientechnologies.orient.core.record.impl.ODocument save(java.util.Map)
class com.orientechnologies.orient.core.record.impl.ODocument save(com.orientechnologies.orient.core.record.ORecordInternal)
现在有没有办法给编译器一个关于使用哪个版本的save
方法的提示?或者,这个问题是否有完全不同的解决方法?
答案 0 :(得分:1)
我建议您访问我们关于功能主题的文档:
http://www.orientechnologies.com/docs/last/orientdb.wiki/Functions.html
引用的视频非常陈旧,正如您所注意到的,gdb变量不再是预定义的。我正在使用文档的这一部分来尝试使其更加健壮。我们还对免费工作室的功能部分进行了一些计划改进。
如果您在浏览完文档后还有其他问题,请告诉我们。