微信小程序云开发【command-逻辑操作符and / or】

笔记 2020-07-28

逻辑操作符and

and 方法 区间范围
在and中依旧使用command方法,调用gt,lt,eq那些

实例
x:.and(.gt(0),_.lt(100)) 调用command的and方法,然后在小括号中调用gt和lt
找到大于0 ,小于 100的数值

getData(){
    db.collection("demolist")
    .where({
      x:_.and(_.gt(0),_.lt(100))
    })
    .get()
    .then(res=>{
      console.log(res); 
      this.setData({
        dataList:res.data
      })
    })
  },

逻辑操作符 or

or的用法

拿到44或者66

.where({
     x:_.or(_.eq(44),_.eq(66))
   })

和in的数组用法其实一样的效果
x:_.in([44,66])

拿到小于40 大于100的区间

.where({
     x:_.or(_.lt(40),_.gt(100))
   })

and和or的区别

  • and可以拿到中间的值
  • or可以拿到两端的值

难点

and查询多个字段
我们正常的操作是这样子

 x:_.lt(300),
 author:_.eq("李四")

这样我们拿到的是一个和的操作,即数据要满足以上两个条件才能拿到
而有时候我们要的是满足其中一个条件就行,所以要用and’多字段操作

普通操作

getData(){
   db.collection("demolist")
   .where({
     x:_.lt(300),
     author:_.eq("李四")
   })
   .get()
   .then(res=>{
     console.log(res); 
     this.setData({
       dataList:res.data
     })
   })
 },

or多字段操作

在where里面写_.and / _.or方法,然后方法里写数组,数组里面写对象,
一个字段对应一个对象

getData(){
   db.collection("demolist")
   .where(_.or([{
     x:_.lt(300)
   },{
     author:_.eq("李四")
   }
 ]))
   .get()
   .then(res=>{
     console.log(res); 
     this.setData({
       dataList:res.data
     })
   })
 },

满足作者是李四
或者满足x小于300将会拿到

©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页