我如何尝试使用map存储多个键值属性。我看到的问题是它不允许我存储现有数据,每次我尝试设置新属性时它都会覆盖数据。
Create VERTEX Person extends V;
CREATE CLASS Person EXTENDS V;
CREATE PROPERTY Person.name STRING (MANDATORY TRUE, MIN 3, MAX 50);
Create VERTEX Person set name="test";
update ( SELECT from Person where name="test") SET mapField=
{"property1":mapField.property1+10};
将property1设置为map,并更新它,工作得很好。
update ( SELECT from Person where name="test") SET mapField=
{"property1":mapField.property1+30};
select from Person;
设置另一个属性" property2",现在我松开了property1。
update ( SELECT from Person where name="test") SET mapField=
{"property2":mapField.property2+10};
select from Person;
是否可以保留以前的财产并让这项工作仍然有效?
由于 哈
答案 0 :(得分:1)
这应该可以解决问题:
update ( SELECT from Person where name="test")
SET mapField.property1 = mapField.property1 + 30;
在V 2.2中还有一个UPDATE PUT选项,即。
update ( SELECT from Person where name="test")
PUT mapField = property1, eval('mapField.property1 + 30');
但它不再受支持了(而且它绝对是丑陋的)