简体   繁体   English

在OrientDB中将记录嵌入功能

[英]Embedding record from function in OrientDB

I'd like to embed a record into another one using a function in OrientDB. 我想使用OrientDB中的函数将记录嵌入到另一个记录中。

I have a class called Backup. 我有一堂课叫做备份。 Here's it's definition: 这是它的定义:

create class Backup extends V
create property Backup.dateTime datetime
create property Backup.record embedded V

What I want to do is to call an OrientDB function, passing it an arbitrary @rid, and it will make a backup of that record for me. 我想要做的是调用OrientDB函数,将其传递给任意@rid,它将为我备份该记录。 Here's what I tried so far: 这是我到目前为止尝试过的:

//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()]);

...

Tried using rec[0] , or rec[0].getRecord() instead, but function always throws an error at me. 尝试使用rec[0]rec[0].getRecord() ,但是函数总是向我抛出错误。 Any ideas? 有任何想法吗?

OrientDB - v2.0.6 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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM