OrientDB功能:无法保存文档

时间:2014-10-13 22:43:47

标签: javascript orientdb

我在尝试执行以下代码时正在关注视频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方法的提示?或者,这个问题是否有完全不同的解决方法?

1 个答案:

答案 0 :(得分:1)

我建议您访问我们关于功能主题的文档:

http://www.orientechnologies.com/docs/last/orientdb.wiki/Functions.html

引用的视频非常陈旧,正如您所注意到的,gdb变量不再是预定义的。我正在使用文档的这一部分来尝试使其更加健壮。我们还对免费工作室的功能部分进行了一些计划改进。

如果您在浏览完文档后还有其他问题,请告诉我们。