收藏
回答

【云开发】数据库操作,在collectionA中筛选几千个id,在B中遍历id获取数据,有好办法吗?

本人是客户端开发,最近开始搞云开发

已经翻了一遍社区了,找到了关于联表的相关知识点

在我开始尝试之前,在这里发个问题,万一我失败了,这个帖子说不定就有大神回复了呢

主要是在collection A中,通过其中的“时间”这个属性,筛选出可能高达上万条的数据

这里有个有趣的点,A和B的主键都是玩家的openid,我筛选A其实也是想获得符合条件的openid

然后通过A筛选出的符合条件的id,去B中找到对应的数据,获取“通过的关卡个数”

全部加起来,最后算出这批玩家的“平均通关个数”

我在没有查社区之前,是通过遍历的方法,100个100个的筛选A的id,然后一个一个去B里找对应的数据

太慢啦!!!

http调用竟然只有3秒,就超时了

各位大哥们有什么好的建议吗?


回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-07-23

    多看文档多实践,少纸上谈兵

    2020-07-23
    有用
    回复 7
    • Japper
      Japper
      2020-07-23
      多学语文,尊重别人,认真审题
      我说了,在我开始实践之前,先问问,万一我实践完失败了呢?
      再来提问就晚上八九点了,还要等好心人看到,要等到什么时候呢?
      发完问题我就开始研究了啊,社区没人回答的问题多得是,我总不能把希望都寄托在社区。
      2020-07-23
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-07-23回复Japper
      哈哈,你想到哪里去了?你还不如提供下2个集合的数据呢。
      2020-07-23
      回复
    • Japper
      Japper
      2020-07-23
      集合A:{
      _id : OPENID,

      register : 1595174798


      集合B:{
      _id : OPENID,
      level : 10
      }
      简化下来大概是这样,通过用户注册时间,筛选出一部分的用户,然后去B里找用户的level,最后取平均数~
      A和B的主键都是OPENID
      2020-07-23
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-07-23回复Japper
      没别的意思,别把别人想的太恶
      2020-07-23
      回复
    • Japper
      Japper
      2020-07-23
      以为你在说风凉话,真的不好意思,对不起。
      我去研究一下你的代码,我自己目前才推进到搞定lookup的程度,所有的api都只能看文档慢慢摸索
      2020-07-23
      回复
    查看更多(2)
登录 后发表内容
问题标签