AQL学习笔记(六)--创建边文档

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27668313/article/details/87088431

(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建中已创建)

父子关系可以用图来表示,在ArangoDB中,如果两个文档具有父子关系,则可以用边文档来连接他们。边文档存储在边集合中,边文档有两个属性:_from和_to。

数据库中的人物有如下父子关系,

图表示如下,

接下来我们创建一个边文档。首先创建ChildOf集合,然后在集合中创建边文档,注意type中选择Edge。

 

然后在query中编写如下语句,

扫描二维码关注公众号,回复: 5766793 查看本文章

LET data = [
{
"parent": { "name": "Ned", "surname": "Stark" },
"child": { "name": "Robb", "surname": "Stark" }
}, {
"parent": { "name": "Ned", "surname": "Stark" },
"child": { "name": "Sansa", "surname": "Stark" }
}, {
"parent": { "name": "Ned", "surname": "Stark" },
"child": { "name": "Arya", "surname": "Stark" }
}, {
"parent": { "name": "Ned", "surname": "Stark" },
"child": { "name": "Bran", "surname": "Stark" }
}, {
"parent": { "name": "Catelyn", "surname": "Stark" },
"child": { "name": "Robb", "surname": "Stark" }
}, {
"parent": { "name": "Catelyn", "surname": "Stark" },
"child": { "name": "Sansa", "surname": "Stark" }
}, {
"parent": { "name": "Catelyn", "surname": "Stark" },
"child": { "name": "Arya", "surname": "Stark" }
}, {
"parent": { "name": "Catelyn", "surname": "Stark" },
"child": { "name": "Bran", "surname": "Stark" }
}, {
"parent": { "name": "Ned", "surname": "Stark" },
"child": { "name": "Jon", "surname": "Snow" }
}, {
"parent": { "name": "Tywin", "surname": "Lannister" },
"child": { "name": "Jaime", "surname": "Lannister" }
}, {
"parent": { "name": "Tywin", "surname": "Lannister" },
"child": { "name": "Cersei", "surname": "Lannister" }
}, {
"parent": { "name": "Tywin", "surname": "Lannister" },
"child": { "name": "Tyrion", "surname": "Lannister" }
}, {
"parent": { "name": "Cersei", "surname": "Lannister" },
"child": { "name": "Joffrey", "surname": "Baratheon" }
}, {
"parent": { "name": "Jaime", "surname": "Lannister" },
"child": { "name": "Joffrey", "surname": "Baratheon" }
}
]
 

首先是定义关系,存储在data中。然后对data中每条记录进行操作,用parentId和childId分别存储rel中parent和child的id。然后将{_from:xx, _to:xx}插入到ChildOf中。结果如下。

后面的数字id每个人的不同。

 

猜你喜欢

转载自blog.csdn.net/qq_27668313/article/details/87088431