收藏
回答

如何获取数组中键值对的值?


从云开发表中查询以后获取到的数组,因为下一步需要在另一个表中根据get_card的序号查询其他的数据,但where语句右边不能是数组。

目前的想法是把上图中的A1,A2获取出来存入列表中,遍历获取A1和A2分别在另一个表中用where语句查询,但试了很多方法都没办法把上图的值单独取出来,求大佬解答!!

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

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-09-11

    where里能数组呀

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/database/command.in.html

    2019-09-11
    有用
    回复 7
    • Ryun
      Ryun
      2019-09-11

      const _ = db.command

      db.collection('card_info').where({

      cardID: _.in(this.data.userget_card)

      })

      .get({

      success: (res => {

      this.setData({

      userget_cardURL: res.data

      })

      console.log(this.data.userget_cardURL)

      })

      })

      这样写了以后没有反应

      2019-09-11
      回复
    • Ryun
      Ryun
      2019-09-11

      userget_card 就是题目说的第一步查出的数组

      2019-09-11
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-09-11回复Ryun

      this.data.userget_card = ['A1', 'A2']才行

      现在你的 this.data.userget_card = [{get_card:'A1'}, {get_card:'A2'}]

      2019-09-11
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-09-11

      var ret = []

      for(var i in res){

          ret.push(res[i].get_card)

      }

      const _ = db.command

      db.collection('card_info').where({

          cardID: _.in(ret)

      })

      .get({

          success: (res => {

              this.setData({

                  userget_cardURL: res.data

              })

              console.log(this.data.userget_cardURL)

          })

      })


      2019-09-11
      回复
    • Ryun
      Ryun
      2019-09-11回复o0o有脾气的酸奶

      res is not defined 报了这个错诶(挠头

      2019-09-11
      回复
    查看更多(2)
登录 后发表内容
问题标签