用户登录

在数据之间建立一个单向的关系,可以使用 SurealDB 提供的记录链接,用法就是在一个数据记录里记录一下另一个数据记录的 id 。在查询里使用 FETCH 可以直接将链接的记录嵌入到当前文档里,这里说的文档指的就是数据表里的数据记录。

在 HTTP 客户端,复制一份请求,名字改成“单向关系”。写一条查询,SELECT * FROM post; 执行一下,观察一下返回的数据。内容数据项目里的 user 还有 tags 就是记录链接,因为它们的值是一个或者一组其它的数据记录的 id。

FETCH

在查询结果里想要嵌入记录链接的数据,可以使用 FETCH,在这段查询的最后,用一下 FETCH,然后再说明一下要嵌入的记录链接,比如 user。执行一下,这次在数据项目里面,user 属性的值就会是对应的用户数据。

在 user 的后面用逗号分隔一下,再添加一个 tags,嵌入 tags 链接的标签数据。执行一下查询,现在 tags 属性的值就会是一组标签数据了,每个标签项目都是一个对象,里面有 id 还有 name 属性。

表达式

除了可以用 FETCH 嵌入记录链接的文档,我们也可以使用表达式的方法载入它们。在 SELECT 后面,选择需要的字段,一个 id,一个 title,再添加一个 user。现在 user 的值是用户数据记录的 id。把 user 换成一个 user.name ,再执行一下。

这回 user 就变成了一个对象,它里面有个 name 属性,属性的值就是 user 的名字。

在选择的字段里再添加一个 tags,它的值是一组标签数据的 id,如果你想让 tags 属性的值是一组标签数据的名字,可以把这个 tags 换成 tags.name 然后用 AS 给它起个名字叫 tags。

现在 tags 的值就会是一组标签名字。

单向关系

使用记录链接建立的数据关系是一种单向关系,比如我们在内容里链接了用户,就只能在内容里嵌入用户文档,不能在用户那里嵌入内容。如果你想在数据记录之间建立双向关系,可以使用 SurrealDB 提供的图形关系。

单向关系(Record Links)《 SurrealDB 多模型数据库:数据关系 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点