我想使用OrientDB中的函数将记录嵌入到另一个记录中。
我有一个名为Backup的课程。以下是它的定义:
create class Backup extends V
create property Backup.dateTime datetime
create property Backup.record embedded V
我想要做的是调用OrientDB函数,传递一个任意的@rid,它将为我备份该记录。这是我到目前为止所做的:
//function createBackup(id)
var gdb = orient.getGraphNoTx();
var rec = gdb.command("sql", "select from V where @rid = ?", [id]);
var v = gdb.command("sql", "create vertex Backup set dateTime = ?, record = ?", [(new Date().getTime()), rec[0].getRecord().toJSON()]);
...
尝试使用rec[0]
或rec[0].getRecord()
代替,但函数总是向我抛出错误。有什么想法吗?
答案 0 :(得分:1)
OrientDB - v2.0.6
var graph = orient.getGraphNoTx();
var query = "select @this.exclude('@rid').toJson() as json from V where @rid = " + id;
var result = graph.command("sql", query);
var command = "create vertex Backup "
+ "set dateTime = " + new Date().getTime() + ", "
+ " record = " + result[0].getRecord().field('json');
graph.command("sql", command);
return;