zetank
zetank
  • 发布:2021-08-23 23:00
  • 更新:2021-08-25 17:56
  • 阅读:450

clientDB嵌套联表的问题,副表之间存在关联关系的情况怎么查询?

分类:uniCloud

请问篇文章https://ask.dcloud.net.cn/article/38966,里面的clientDB嵌套联表的问题有方案吗?副表之间存在关联关系的情况怎么查询?例如:主表是文章,副表是评论和用户表,两个副表也有关联,评论表里面需要指向用户表,请问如何关联查询?

2021-08-23 23:00 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

需要使用pipeline,文档搜pipeline

  • zetank (作者)

    懂了,感谢!不过文档搜pipeline好像没搜相关的,我是看了lookup的pipeline实列写的~

    2021-08-25 23:36

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

这种情况还是先用云函数吧

  • zetank (作者)

    云函数用聚合lookup是吗?我用lookup后查询的字段只能存放在主表的字段中,例如文章表联查到评论表的多条数据,评论表的数据还需要继续联查到相对应的用户数据,而lookup查询的用户数据不能一一对应评论表的数据,只能在文章表的数据,请问是哪里出错了吗?

    2021-08-24 18:27

  • zetank (作者)

    let res = await  collection.aggregate().sort({index:-1})  
    .lookup({
    from: 'uni-id-users',
    localField: 'uid',
    foreignField: '_id',
    as: 'userinfo',
    })
    .lookup({
    from: 'dynamic-comment',
    localField: '_id',
    foreignField: 'dynamicid',
    as: 'comment',
    })
    .lookup({
    from: 'uni-id-users',
    localField: 'comment.uid',
    foreignField: '_id',
    as: 'commentinfo',
    })
    .end()

    2021-08-24 18:28

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

需要使用pipeline,文档搜pipeline

  • n***@163.com

    clientDB不能这样使用好难受啊,能不能解决一下啊

    2022-01-26 15:19

  • DCloud_uniCloud_WYQ

    回复 n***@163.com: 其实这种查询形式,效率很低,一般情况下不推荐使用

    2022-01-26 17:11

要回复问题请先登录注册