微信小程序云开发【command-字段操作符与数组操作符】

笔记 2020-07-28

字段操作符

exits
用法 time:_.exists(true) 将会获取到有time字段的记录,注意调试版本要2.8以上
建议使用用户占比最多的版本

db.collection("demolist")
 .where({
   time:_.exists(true)
 })
 .get()
 .then(res=>{
   console.log(res); 
   this.setData({
     dataList:res.data
   })
 })
 },

mod 取余 不讲

数组操作符

size
找到数组长度等于指定size的数据,然后获取他
获取数组tabs,长度在4的记录将会返回

db.collection("demolist")
  .where({
   tabs:_.size(4)
  })
  .get()
  .then(res=>{
    console.log(res); 
    this.setData({
      dataList:res.data
    })
  })
  },

all
all 传递的必须是一个数组(中括号),然后数组里才是一个字段 tabs:_.all([“海贼王”,“数码”])
拿到tabs数组中同时包含 ”海贼王“字段和“数码”字段的记录,
然后返回

db.collection("demolist")
  .where({
   tabs:_.all(["海贼王","数码"])
  })
  .get()
  .then(res=>{
    console.log(res); 
    this.setData({
      dataList:res.data
    })
  })
  },

eleMatch
eleMatch 针对数组对象 ,即数组中包含对象
查询对象数组中的某个或多个字段进行匹配,在eleMatch中依旧是command方法
实例(api文档)

一条数据记录

{
  "_id": "a0",
  "city": "x0",
  "places": [{
    "type": "garden",
    "area": 300,
    "age": 1
  }, {
    "type": "theatre",
    "area": 50,
    "age": 15
  }]
}

js代码

const _ = db.command
db.collection('demolist').where({
  places: _.elemMatch({
    area: _.gt(100),
    age: _.lt(2),
  })
})
.get()
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页