在OrientDB javascript函数中执行命令后摆脱

时间:2015-03-26 09:26:11

标签: javascript orientdb

我希望在OrientDB的功能中对非事务图数据库执行命令后获取新创建的记录ID。例如,

var gdb = orient.getGraphNoTx();

var v = gdb.command("sql", "create vertex TestV set time = ?, note = ?", [(new Date().getTime()), 'note']);

//how do i refer to v.rid after creation?

return true;

我尝试了所有不同的选项,例如v.ridv['@rid']v.field('rid')等。我甚至不确定从gdb.command()返回什么类型的对象。

到目前为止我所知道的是返回值v的类型是object。 v.toString()虽然没有提供任何有价值的见解。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

var gdb = orient.getGraphNoTx();

var v = gdb.command("sql", "create vertex TestV set time = ?, note = ?", [(new Date().getTime()), 'note']);

print(v.getRecord().field('@rid'));

return true;

答案 1 :(得分:0)

对于那些希望将@rid作为查询字符串

的人
var g=orient.getGraph();
var result=g.command('sql',"SELECT FROM something WHERE something=something");
var index=0;
var rid=result[index].getId().toString();
//rid is now string like #12:3456
// you can iterate through result to get all @rid's