如何使用 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();
}
我在 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();
}