微信小程序笔记 云开发 where 2 and

wxml:

<input placeholder="取前几个" bindinput="inputRecordNumber"></input>
<input placeholder="score1不小于的值" bindinput="inputMinSocre"></input>
<input placeholder="score1不大于的值" bindinput="inputMaxSocre"></input>
<button type="primary" bindtap="getDataFromBuyerBasics">获取数据</button>
<view wx:for="{{dataArray}}" wx:key="index">{{index+1}}-{{item.buyerName}}-{{item.score1}}-{{item.score2}}</view>

wxss:

page{
  padding: 10rpx;
  box-sizing: border-box;
}

input{
  border: 1px solid #000;
}

view{
  border: 1px solid #000;
}

js(写法一):

// 连接微信云数据库
const db = wx.cloud.database()
const _ = db.command

var recordNumber

var minScore
var maxScore

Page({

  data: {
    "dataArray":""
  },

  // 获取记录的个数
  inputRecordNumber(res){
    console.log(res.detail.value)
    recordNumber = Number(res.detail.value)
  },

  // 获取score的最小值
  inputMinSocre(res){
    console.log(res.detail.value)
    minScore = Number(res.detail.value)
  },

  // 获取score的最大值
  inputMaxSocre(res){
    console.log(res.detail.value)
    maxScore = Number(res.detail.value)
  },

  // 获取buyerBasics的数据
  getDataFromBuyerBasics(){
    db.collection("buyerBasics")
    .where({
      score1: _.and(_.gte(minScore), _.lte(maxScore))
    })
    .limit(recordNumber)
    .orderBy("score1","desc")
    .get()
    .then(res=>{
      console.log(res.data)
      this.setData({
        "dataArray":res.data
      })
    })
  },

  onLoad: function (options) {
    
  }
})

js(写法二):

// 连接微信云数据库
const db = wx.cloud.database()
const _ = db.command

var recordNumber

var minScore
var maxScore

Page({

  data: {
    "dataArray":""
  },

  // 获取记录的个数
  inputRecordNumber(res){
    console.log(res.detail.value)
    recordNumber = Number(res.detail.value)
  },

  // 获取score的最小值
  inputMinSocre(res){
    console.log(res.detail.value)
    minScore = Number(res.detail.value)
  },

  // 获取score的最大值
  inputMaxSocre(res){
    console.log(res.detail.value)
    maxScore = Number(res.detail.value)
  },

  // 获取buyerBasics的数据
  getDataFromBuyerBasics(){
    db.collection("buyerBasics")
    .where(_.and([
      {
        "score1":_.gte(minScore)
      },
      {
        "score1":_.lte(maxScore)
      }
    ]))
    .limit(recordNumber)
    .orderBy("score1","desc")
    .get()
    .then(res=>{
      console.log(res.data)
      this.setData({
        "dataArray":res.data
      })
    })
  },

  onLoad: function (options) {
    
  }
})

这种写法更经常用于跨字段的或操作(or),可参考微信官方文档的示例:
在这里插入图片描述

前端效果图:
在这里插入图片描述
后端运行结果:
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值