javascript - 从 rhino 中的 orientDB 选择

标签 javascript rhino orientdb

我正在尝试从 rhino script 访问 orientDB 。我收到错误

js: Can't find method com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.query(com.orientechnologies.orient.core.sql.query.OSQLSynchQuery)

当我执行以下代码时:

var System = java.lang.System
var OSQLSynchQuery = Packages.com.orientechnologies.orient.core.sql.query.OSQLSynchQuery
var ODatabaseDocumentTx = Packages.com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx
var ODocument = Packages.com.orientechnologies.orient.core.record.impl.ODocument
var File = java.io.File

var user_home = System.getProperty( "user.home" )
var db_path = user_home + "/.testdb"
var db_url = "local:" + db_path + File.separator + "db"
if( ! new File( db_path ).exists() ) {
    new File( db_path ).mkdirs()
    new ODatabaseDocumentTx( db_url ).create()
}
var db = new ODatabaseDocumentTx( db_url ).open( "admin", "admin" )
db.getStorage().getConfiguration().txSegment.setSynchRecord( true )

print( 'Select From TestObj' )

if( db.getMetadata().getSchema().getClass( 'TestObj' ) != null  ) {
    var result = db.query( new OSQLSynchQuery( "select * from TestObj" ) )
    print( "# of Entries: " + result.size() )
}
db.close()

我正在访问一个已创建并填充的数据库。该选择可以在控制台中进行。

我已经检查了 javadoc 和 ODatabaseRecordWrapperAbstract.query 方法采用 OSQLSynchQuery 实现的 OQuery。

最佳答案

query method正在使用可变参数。犀牛可能无法处理这个问题。尝试传入一个额外的空对象数组:

 var result = db.query(
     new OSQLSynchQuery( "select * from TestObj" ), [] )

关于javascript - 从 rhino 中的 orientDB 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273939/

相关文章:

android - 集成 proguard 后 Rhino API 中的问题

orientdb - 尝试 "SUPERCLASS NULL"

javascript - 如果列表数据包含

java - 我可以在 Rhino 中将 Javascript 数组作为通用集合传递吗?

javascript - 在 Canvas 中清除和填充矩形与背景颜色之间的区别

javascript - Android rhino计算奇怪的行为

linux - orientdb 连接无效的密码和用户名

javascript - 如何从 JavaScript 函数返回文档/节点?

javascript - Mongo 集合在 Meteor 前端未定义

javascript - 在 IE 和 JSFiddle 中使用 elem.dataset 时出现问题