收藏
回答

怎样让云开发数据库里的数据在一个页面的js里面使用?

数据库里有score这一项,js里面有一个数据是right,我想在先比较score与right的大小,然后再将其中大的一项赋值给score并且更新数据库里的score,我使用了Math.max(x,y),但其中score的值没有使用数据库里的值,求问一下

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

2 个回答

  • 罗梅光
    罗梅光
    2019-12-06

    是 _.max()

    _.max()


    2019-12-06
    赞同
    回复 5
    • Hydrogen
      Hydrogen
      2019-12-06
      我试了,max好像用不了,max都没有显示在框中
      2019-12-06
      回复
    • 罗梅光
      罗梅光
      2019-12-06回复Hydrogen
      在小程序控制台测试时确实不行,不知道为啥会在API当中。
      2019-12-06
      回复
    • Hydrogen
      Hydrogen
      2019-12-07回复罗梅光
      谢谢,已经解决
      2019-12-07
      回复
    • 罗梅光
      罗梅光
      2019-12-09回复Hydrogen
      怎么解决的?
      2019-12-09
      回复
    • Hydrogen
      Hydrogen
      2019-12-09回复罗梅光
      用条件运算符解决的
      2019-12-09
      回复
  • 121
    121
    2019-12-05

    代码是怎么写的呢

    2019-12-05
    赞同
    回复 3
    • Hydrogen
      Hydrogen
      2019-12-05
      我是个新手,有的地方写的可能不规范,麻烦您了
      const db = wx.cloud.database({});  
      var app = getApp(); 
      const cont = db.collection('information'); 
       
      Page({    
        data: { 
          has_right:null, 
          resData:null, 
          sum:null, 
          openid:null, 
          flag:null, 
          score:null, 
          modalHidden: true 
       
        }, 
        
        onLoad: async function (options) { 
          var that = this 
          that.setData({ 
            has_right:parseFloat(options.has_right), 
            sum: options.sum, 
          }) 
          that.setData({ 
            openid: await app.getOpenid() 
          }) 
          console.log(this.data.openid) 
          var that = this 
          var openid = this.data.openid 
          const db = wx.cloud.database() 
          db.collection('information').where({ 
            _openid: openid 
          }).get({ 
            success: res => { 
              console.log(res.data) 
              this.setData({ 
                ne: res.data 
              }) 
              this.setData({ 
                finished: true 
              }) 
            } 
          }) 
          var that=this 
          console.log(that.data.score) 
        }, 
       
        submit:  function (e) { 
          this.setData({ 
            modalHidden: !this.data.modalHidden 
          }) 
          var that = this 
          var openid = this.data.openid 
          var score =this.data.score 
          var has_right=this.data.has_right 
          console.log(that.data.score) 
          var has_right=Math.max(has_right,score) 
          const db = wx.cloud.database() 
          db.collection('information').where({ 
            _openid: openid 
          }). get({ 
            success: res => { 
              console.log(res.data) 
              this.setData({ 
                ne: res.data, 
              }) 
              db.collection('information').doc(openid).get({ 
              success: res => { 
              console.log(res.data) 
              this.setData({ 
                ne: res.data, 
                flag: res.data.prize_flag 
              }) 
                db.collection('information').doc(openid).update({ 
                  data:{ 
                    score:has_right, 
                  }, 
                  complete:res=>{ 
                    that.setData({ 
                    finished:true 
                    }) 
                  } 
                }) 
              } 
              }) 
            }    
          }) 
        }, 
       
          modalBindaconfirm: function () { 
            this.setData({ 
              modalHidden: !this.data.modalHidden, 
            }) 
            if (this.data.flag == 1) { 
              wx.navigateTo 
                ({ 
                  url: '../prize/prize', 
                }) 
            } 
            else { 
              wx.reLaunch 
                ({ 
                  url: '../rank/rank', 
                }) 
            } 
          }, 
       
        modalBindcancel: function () { 
          this.setData({ 
            modalHidden: !this.data.modalHidden, 
          }) 
          wx.reLaunch 
            ({ 
              url: '../rank/rank', 
            }) 
        },
      2019-12-05
      回复
    • 121
      121
      2019-12-06回复Hydrogen
      看楼上,用max可以实现,还有你这代码写得有点乱,建议看一下js的变量的作用域,不用重复定义,还有setData能放一起的就都放一起
      2019-12-06
      回复
    • Hydrogen
      Hydrogen
      2019-12-07
      谢谢,已经解决
      2019-12-07
      回复
登录 后发表内容
问题标签