dgraph解决社交关系中的正反向查找

本篇介绍的是, 社交关系中的关注者与被关注者在dgraph中如何实现查找.

dgraph的基本操作不太清楚的可以看看我之前写的博客

dgraph实现基本操作

用go实现dgraph的基本操作

查看当前的数据库中的关系

dgraph解决社交关系中的正反向查找-LMLPHP

从图中可以清楚的看到之间的社交关系, 即

wangha 关注 Taoye

ChaoChen 关注 TaoYe

TaoYe 关注 wanghe

查找所有关注TaoYe的用户

代码实现:

{
friendis(func:eq(nameOFen,"TaoYe")){
~friend{
uid
nameOFen
}
}
}

可以看到结果如下:

dgraph解决社交关系中的正反向查找-LMLPHP

查找所有TaoYe关注的用户

{
friendis(func:eq(nameOFen,"TaoYe")){
friend{
uid
nameOFen
}
}
}

得到结果

dgraph解决社交关系中的正反向查找-LMLPHP

注意

有一个使用前提:

你的schema中的predicate必须设置了reverse属性

dgraph解决社交关系中的正反向查找-LMLPHP

写在最后

文档还是应该好好看!!!

https://tour.dgraph.io

同时非常感谢好友 xhe ,帮我填了个坑

05-06 05:48