我正在关注本教程http://pettergraff.blogspot.fr/2014/01/getting-started-with-orientdb.html
在第四部分,我们假设创建一个javascript函数,它会在数据库中推送一些“Members”。
我知道这个教程已经过时了,我已经遇到过一些问题,例如我不得不删除这个块
<handler class="com.orientechnologies.orient.graph.handler.OGraphServerHandler">
<parameters>
<parameter value="true" name="enabled"/>
<parameter value="50" name="graph.pool.max"/>
</parameters>
</handler>
来自orientdb-server-config.xml的,使以下代码有效:
var db = orient.getDatabase();
这是正常的吗?
既然这条线路没问题,我又遇到了麻烦,这是“我的”代码:
var db = orient.getDatabase();
db.begin();
for (var i = 0; i < n; i++) {
var name = prefix + "_" + i;
var email = name + "@gmail.com";
var member = {
"@class": "Member",
"name": "robin",
"password": "robin",
"email": "robin"
};
var result = ODocument.save(member);
}
db.commit();
return 0;
问题现在出现在“保存”方法
上var result = db.save(member);
它说这种方法是ambigus,我只是不知道该怎么做:)
这是错误(用法语,我喜欢用英语,但我没有找到如何在OrientDB界面上更改de语言)
Erroronparsingscriptatposition#0: ErroronexecutionofthescriptScript: createSomeMembers------^sun.org.mozilla.javascript.EvaluatorException: LechoixdelaméthodeJavacom.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper.savecorrespondantauxtypesd'argumentJavaScript(object)estambigu.Lesméthodesproposéessontlessuivantes???: classcom.orientechnologies.orient.core.record.impl.ODocumentsave(com.orientechnologies.orient.core.record.ORecord)classcom.orientechnologies.orient.core.record.impl.ODocumentsave(java.util.Map)(<Unknownsource>#18)in<Unknownsource>atlinenumber18LechoixdelaméthodeJavacom.orientechnologies.orient.core.command.script.OScriptDocumentDatabaseWrapper.savecorrespondantauxtypesd'argumentJavaScript(object)estambigu.Lesméthodesproposéessontlessuivantes???: classcom.orientechnologies.orient.core.record.impl.ODocumentsave(com.orientechnologies.orient.core.record.ORecord)classcom.orientechnologies.orient.core.record.impl.ODocumentsave(java.util.Map)(<Unknownsource>#18)
有人知道该怎么办吗?谢谢!
答案 0 :(得分:1)
相当于使用Graph API的东西:
var db = orient.getGraph();
var member = db.addVertex("class:Member");
member.setProperty("name", "robin");
member.setProperty("password", "robin");
db.commit();
return;
答案 1 :(得分:0)
您应该通过调用:
在ODocument中转换JSONvar result = new com.orientechnologies.orient.core.record.impl.ODocument();
result.fromJSON(member);
result.save();
甚至:
var result = new com.orientechnologies.orient.core.record.impl.ODocument().fromJSON(member).save();