如何在orientdb中插入嵌入式文档
How to insert embedded document in orientdb
我有一个带有属性名称和文本的 class etest1。然后我有一个 class etest2,其属性为 lala 和 etest(嵌入式 etest1)。但我无法插入任何东西。
如果我这样做:
insert into etest2 content {"lala" : "test lala", etest : {"name" : "das", "text" : "dasd"}}
我遇到异常:字段 'etest2.etest' 已声明为 EMBEDDED 但使用了不兼容的类型。值:{name=das, text=dasd}
如果我这样做:
insert into etest2 content {"lala" : "test lala", etest : "#17:10"}
我得到另一个异常:字段 'etest2.etest' 已声明为 EMBEDDED 但值为 RecordID #17:10
那么如何插入嵌入文档。如果有可能的话,我想要像我尝试过的第一种方法那样的东西。我更想只做一次插入而不是两次插入。
如果这是您的情况:
create class etest1
create property etest1.name string
create property etest1.text string
create class etest2
create property etest2.lala string
create property etest2.etest embedded etest1
你可以做到:
insert into etest2 content {"lala" : "test lala", etest : {"@type":"d", "@class":"etest1", "name" : "das", "text" : "dasd"}}
我有一个带有属性名称和文本的 class etest1。然后我有一个 class etest2,其属性为 lala 和 etest(嵌入式 etest1)。但我无法插入任何东西。
如果我这样做:
insert into etest2 content {"lala" : "test lala", etest : {"name" : "das", "text" : "dasd"}}
我遇到异常:字段 'etest2.etest' 已声明为 EMBEDDED 但使用了不兼容的类型。值:{name=das, text=dasd}
如果我这样做:
insert into etest2 content {"lala" : "test lala", etest : "#17:10"}
我得到另一个异常:字段 'etest2.etest' 已声明为 EMBEDDED 但值为 RecordID #17:10
那么如何插入嵌入文档。如果有可能的话,我想要像我尝试过的第一种方法那样的东西。我更想只做一次插入而不是两次插入。
如果这是您的情况:
create class etest1
create property etest1.name string
create property etest1.text string
create class etest2
create property etest2.lala string
create property etest2.etest embedded etest1
你可以做到:
insert into etest2 content {"lala" : "test lala", etest : {"@type":"d", "@class":"etest1", "name" : "das", "text" : "dasd"}}