从 OrientDB 中的函数嵌入记录 [英] Embedding record from function in OrientDB

查看:53
本文介绍了从 OrientDB 中的函数嵌入记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 OrientDB 中的函数将一条记录嵌入到另一条记录中.

I'd like to embed a record into another one using a function in 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

我想要做的是调用一个 OrientDB 函数,向它传递一个任意的 @rid,它会为我备份那个记录.这是我到目前为止尝试过的:

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

...

尝试使用 rec[0]rec[0].getRecord() 代替,但函数总是向我抛出错误.有什么想法吗?

Tried using rec[0], or rec[0].getRecord() instead, but function always throws an error at me. Any ideas?

推荐答案

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;

这篇关于从 OrientDB 中的函数嵌入记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆