一个用户可以发布多个内容,多个内容可以同属于一个用户,用户跟内容之间就是一对多的关系,内容与用户之间是多对一的关系。
使用 SurrealDB 提供的 Record Link 可以很容易在数据之间建立这种关系。比如我们可以在内容数据里链接一个 user 数据。这样在查询内容列表的时候,如果需要 user 数据,可以直接嵌入链接的这个 user 数据。
复制一份请求,名字是“用户与内容”。 写一段查询, SELECT * FROM post; 得到的是一组内容列表数据,如果需要嵌入内容链接的 user 数据,在查询里可以 FETCH 一个 user。
在 user 数据里链接了一个 avatar 数据,嵌入这个 avatar 数据,可以再添加一个 user.avatar。你会发现,user 里面有 avatar 就是这个用户数据链接的那个 avatar 文档。
WHERE
获取到某个用户发布的内容,只需要在这个查询里面用 WHERE 设置一个条件,比如 user = user:libai。这样得到的就是李白这个用户发布的内容列表。