1:联表条件查询
存在blog表,userfocus表
有一个user_id 从userfocus查询关注的用户(status=0),然后查询blog表里user_id=关注的用户id
目前是先查询userfocus表,然后查blog表加一个id dbCmd.in(userfocus表的结果循环取id得到的list)
效率很慢
2:联表查询多条件
如 有一个blog表 一个blogvote
查询blog表信息并且联表blogvote查询点赞数量,使用 lookup时候不仅要a的id=b的blog_id 还要b的status等于0,该怎么写?
3 :如何在addFileds里只查询数量,目前是查询所有的,然后通过$.size('$')获取数量,然后还要把这个字段清除掉(因为是所有符合条件的数据) 我觉得这样影响效率
恳请帮助.知识有限,文档的方法不知道该怎样使用
龙啸泽渊 (作者)
总数量没有问题,可以每次+1,但是查询是否有点赞记录,需要关联blogvote(blog_id符合,user_id符合,并且status>0),这3个条件该怎么写?如果先查出来数据,然后循环里await db.collection xxxxx速度会非常非常慢
2020-05-08 17:49
DCloud_uniCloud_WYQ
回复 龙啸泽渊: 增加一个match阶段
2020-05-08 17:57
龙啸泽渊 (作者)
回复 DCloud_uniCloud_WYQ: .lookup({
from: 'blogvote',
localField: '_id',
foreignField: 'blog_id',
as: 'votes'
})
.match({
votes:
})
2020-05-08 18:08
龙啸泽渊 (作者)
回复 龙啸泽渊: 这样吗?实在不知道怎么下手啊
2020-05-08 18:12
龙啸泽渊 (作者)
回复 DCloud_uniCloud_WYQ: 就是说,举个例子,如何实现
select a.,b. from blog a,blogvote b where a.id=b.blog_id and b.status=0 and b.user_id=xxxxx
2020-05-08 20:21
DCloud_uniCloud_WYQ
回复 龙啸泽渊: match({
votes: {
status: 0,
user_id: 'xxx'
}
})
2020-05-09 14:44
weichenxu
回复 DCloud_uniCloud_WYQ: 感谢 感谢 正好需要这个联表以后再次筛选的方法, 顺便问一下,我是做安卓原生开发的,现在正在学着用unicloud来做一个仿<奈雪的茶>的小程序项目,关于node.js来操作数据这里,我看文档看不明白,该怎么学,也是蛮苦恼的....
2020-08-25 21:54
weichenxu
回复 DCloud_uniCloud_WYQ: 希望官方指个学习方向 , 或者推荐一下哪些教程视频 , 谢谢了
2020-08-25 21:55