收藏
回答

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


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

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

最后一次编辑于  09-11
回答关注问题邀请回答
收藏

2 个回答

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

    where里能数组呀

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

    09-11
    赞同
    回复 7
    • Ryun
      Ryun
      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)

      })

      })

      这样写了以后没有反应

      09-11
      回复
    • Ryun
      Ryun
      09-11

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

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

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

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

      09-11
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      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)

          })

      })


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

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

      09-11
      回复
    查看更多(2)
  • 米法(BINNIE SMILE)
    米法(BINNIE SMILE)
    09-11

    你怎么取的?

    09-11
    赞同
    回复 1
    • Ryun
      Ryun
      09-11
      db.collection('user_info').where({ _openid: this.data.openId }) .field({ get_card: true, _id:false }) .get({ success: (res => { this.setData({ userget_card: res.data }) console.log(this.data.userget_card) }) })
      09-11
      回复
问题标签