OrientDB嵌套JSON插入

时间:2016-09-13 09:43:15

标签: orientdb

我有一个OrientDB问题。对于声明

INSERT INTO Account CONTENT 
{ name : 'Luca',
  vehicles : {
     @class : 'Vehicle',
     type : 'Car',
     model : 'Maserati',
     isItTrue: false
  }
 }

我得到一个结果(见截图),但是班级/表格'车辆'不包含任何条目。这是一个有效的结果吗? 我预计会自动将一些值写入' Vehicle'并连接到帐户'。只有列'车辆'来自'帐户'包含JSON-Data。

感谢您的回复。

祝你好运 卡罗

Screenshot OrientDB

2 个答案:

答案 0 :(得分:2)

使用您的查询将嵌入数据插入到帐户中,如果要将某些数据插入到帐户和工具中,则应在不同的查询中执行此操作,然后如果需要,可以使用边缘连接它们。见例:

create class Account extends v
create class Vehicle extends v
create class owns extends e

create property Account.name String
create property Vehicle.type String
create property Vehicle.model String
create property Vehicle.isItTrue BOOLEAN

insert into Account(name) values ("Luca")
insert into Vehicle(type, model, isItTrue) values ("Car", "Maserati", false)

create edge owns from (select from Account where name = "Luca") to (select from Vehicle where model = "Maserati")

enter image description here

答案 1 :(得分:0)

或者,如果您不打算创建边缘并且只需要从文档到文档的链接,则下面将在单个插入/事务中为您提供所需的结果,同时仍保留链接记录的json结构

 create class Account
 create class Vehicle
 create property Account.vehicles embedded Vehicle

 INSERT INTO Account set name = "luca", vehicles = [ {
     "@type": "d",
     "@class" : "Vehicle",
     "type" : "Car",
     "model" : "Maserati",
     "isItTrue": false
  }]

enter image description here