如何使用 OrientDB 的 Java API 将链接文档添加到链接列表?

How do I add a linked document to a linked list using the Java API for OrientDB?

我在 class 中有一个 OType.LINKLIST 字段 children

我可以使用以下命令更新它:

update <parent_rid> add children = <child_rid>

但我不知道如何不使用 SQL,这是我的目标。

代码

ODocument doc=new ODocument("ClassA");
ODocument parentDoc=db.load(new ORecordId(rid));

如何在不使用 SQL 的情况下将 doc 添加到 parentDoc 的字段 children

create class Doc
create class ParentDoc 
create property ParentDoc.children LINKLIST


insert into Doc set name = 'doc1'                               #12:0
insert into Doc set name = 'doc2'                               #12:1
insert into ParentDoc set name = 'pd', children = [#12:0]       #13:0
update #13:0 add children = #12:1

据我了解,您需要一段代码来使用 Java 文档 API.

替换最后四个命令
try (ODatabaseDocument db = new ODatabaseDocumentTx("remote:localhost/DB")) {
    db.open("admin", "admin");

    ODocument doc1 = new ODocument("Doc");
    doc1.field("name", "doc1");
    doc1.save();

    List<OIdentifiable> linklist = new ArrayList();
    linklist.add(doc1);

    ODocument parent = new ODocument("ParentDoc");
    parent.field("children", linklist, OType.LINKLIST);
    parent.save();

    // ...

    ODocument doc2 = new ODocument("Doc");
    doc2.field("name", "doc2");
    doc2.save();

    List children = parent.field("children");
    children.add(doc2);
    parent.field("children", children);
    parent.save();
}