在orientdb中批量插入

时间:2016-02-16 15:00:39

标签: orientdb

我有两个不同的类:RecordLocationRecord有一个location属性,可链接到Location类。

我想在一个语句中创建一个具有新位置的记录,就像这样:

insert into record content {location:{name:"EDR"}}

我希望这会创建名为EDR的新位置,并将其链接到记录的location属性,但它会抛出此异常。

com.orientechnologies.orient.core.exception.OValidationException: The field 'record.location' has been declared as LINK but the value is not a record or a record-id

有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

您可以使用

insert into record set location = (insert into location(name) values ("EDR"))

答案 1 :(得分:1)

你也可以试试这个:

insert into Record set location = (insert into Location content {name:'EDR'})

希望有所帮助

答案 2 :(得分:1)

似乎内部对象被视为MAP而不是文档。但是,请尝试强制内部对象是文档而不是MAP(在OrientDB中,您可以同时使用两者):

>>> d = {1: 10, 2: 5, 3: 18, 4: 0, 5: 1}
>>> d.update({k:0 for k in d})
>>> d
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0}