OrientDB:是否可以动态地将 add/set 字段添加到现有的 class?
OrientDB: is it possible to add/set fields to an existing class on the fly?
这里是 OrientDB 初学者!
我正在设置一个图表来模拟社交网络。我已经开始创建一个新的 class 人,并且我有几个要输入的人的档案。
但我的问题是并非所有字段都始终存在。我要输入的第一个人有 FirstName 和 FamilyName。第二个条目有那两个而且还有年龄。
但是当我运行
select from Person
我的结果窗格只显示我的两条记录的 FirstName 和 FamilyName。我的假设是我会看到所有三列 FirstName、FamilyName 和 Age,其中 Age 对于第一个条目为空。
所以我假设不接受即时添加新的 "field" 或 属性。
考虑到我在开始之前不知道所有可能的字段(无架构)
,那么动态添加额外内容的最佳做法是什么 属性
如果您首先执行以下语句:
create class Person extends V
create vertex Person set FirstName = "Jon", FamilyName = "Doe"
create vertex Person set FirstName = "Johanna", FamilyName = "Doe", Age = 30
然后执行select,输出将是这样的:
orientdb {db=DoctorDB}> select * from Person
+----+-----+------+---------+----------+----+
|# |@RID |@CLASS|FirstName|FamilyName|Age |
+----+-----+------+---------+----------+----+
|0 |#91:0|Person|Jon |Doe | |
|1 |#92:0|Person|Johanna |Doe |30 |
+----+-----+------+---------+----------+----+
然后:
update #92:0 set Sex = "Female"
现在 select 输出:
orientdb {db=DoctorDB}> select * from Person
+----+-----+------+---------+----------+----+------+
|# |@RID |@CLASS|FirstName|FamilyName|Age |Sex |
+----+-----+------+---------+----------+----+------+
|0 |#91:0|Person|Jon |Doe | | |
|1 |#92:0|Person|Johanna |Doe |30 |Female|
+----+-----+------+---------+----------+----+------+
这里是 OrientDB 初学者!
我正在设置一个图表来模拟社交网络。我已经开始创建一个新的 class 人,并且我有几个要输入的人的档案。
但我的问题是并非所有字段都始终存在。我要输入的第一个人有 FirstName 和 FamilyName。第二个条目有那两个而且还有年龄。
但是当我运行
select from Person
我的结果窗格只显示我的两条记录的 FirstName 和 FamilyName。我的假设是我会看到所有三列 FirstName、FamilyName 和 Age,其中 Age 对于第一个条目为空。
所以我假设不接受即时添加新的 "field" 或 属性。
考虑到我在开始之前不知道所有可能的字段(无架构)
,那么动态添加额外内容的最佳做法是什么 属性如果您首先执行以下语句:
create class Person extends V
create vertex Person set FirstName = "Jon", FamilyName = "Doe"
create vertex Person set FirstName = "Johanna", FamilyName = "Doe", Age = 30
然后执行select,输出将是这样的:
orientdb {db=DoctorDB}> select * from Person
+----+-----+------+---------+----------+----+
|# |@RID |@CLASS|FirstName|FamilyName|Age |
+----+-----+------+---------+----------+----+
|0 |#91:0|Person|Jon |Doe | |
|1 |#92:0|Person|Johanna |Doe |30 |
+----+-----+------+---------+----------+----+
然后:
update #92:0 set Sex = "Female"
现在 select 输出:
orientdb {db=DoctorDB}> select * from Person
+----+-----+------+---------+----------+----+------+
|# |@RID |@CLASS|FirstName|FamilyName|Age |Sex |
+----+-----+------+---------+----------+----+------+
|0 |#91:0|Person|Jon |Doe | | |
|1 |#92:0|Person|Johanna |Doe |30 |Female|
+----+-----+------+---------+----------+----+------+