codecamp

SDK数据库 Command·更新·字段操作符

Command.set(value: any): Command

支持端:小程序 , 云函数 , Web

更新操作符,用于设定字段等于指定值。

参数

value: any

返回值

Command

使用说明

这种方法相比传入纯 JS 对象的好处是能够指定字段等于一个对象

示例

// 以下方法只会更新 style.color 为 red,而不是将 style 更新为 { color: 'red' },即不影响 style 中的其他字段
db.collection('todos').doc('doc-id').update({
  data: {
    style: {
      color: 'red'
    }
  }
})

// 以下方法更新 style 为 { color: 'red', size: 'large' }
db.collection('todos').doc('doc-id').update({
  data: {
    style: _.set({
      color: 'red',
      size: 'large'
    })
  }
})

Command.remove(): Command

支持端:小程序 , 云函数 , Web

更新操作符,用于表示删除某个字段。

返回值

Command

示例代码

删除 style 字段:

const _ = db.command
db.collection('todos').doc('todo-id').update({
  data: {
    style: _.remove()
  }
})

Command.inc(value: number): Command

支持端:小程序 , 云函数 , Web

更新操作符,原子操作,用于指示字段自增

参数

value: number

自增量,可正可负

返回值

Command

原子自增

多个用户同时写,对数据库来说都是将字段自增,不会有后来者覆写前者的情况

示例代码

将一个 todo 的进度自增 10:

const _ = db.command
db.collection('todos').doc('todo-id').update({
  data: {
    progress: _.inc(10)
  }
})

Command.mul(value: number): Command

支持端:小程序 , 云函数 , Web

更新操作符,原子操作,用于指示字段自乘某个值

参数

value: number

自乘量,可正可负

返回值

Command

原子自乘

多个用户同时写,对数据库来说都是将字段自乘,不会有后来者覆写前者的情况

示例代码

将一个 todo 的进度自乘 10:

const _ = db.command
db.collection('todos').doc('todo-id').update({
  data: {
    progress: _.mul(10)
  }
})

Command.min(value: any): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

更新操作符,给定一个值,只有该值小于字段当前值才进行更新。

参数

value: any

返回值

Command

示例代码

如果字段 progress > 50,则更新到 50

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    progress: _.min(50)
  }
})

Command.max(value: any): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

更新操作符,给定一个值,只有该值大于字段当前值才进行更新。

参数

value: any

返回值

Command

示例代码

如果字段 progress < 50,则更新到 50

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    progress: _.max(50)
  }
})

Command.rename(value: string): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

更新操作符,字段重命名。如果需要对嵌套深层的字段做重命名,需要用点路径表示法。不能对嵌套在数组里的对象的字段进行重命名。

参数

value: string

返回值

Command

示例 1:重命名顶层字段

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    progress: _.rename('totalProgress')
  }
})

示例 2:重命名嵌套字段

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    someObject: {
      someField: _.rename('someObject.renamedField')
    }
  }
})

或:

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    'someObject.someField': _.rename('someObject.renamedField')
  }
})

Command.bit(object: Object): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

更新操作符。对字段进行位运算,可以进行 and/or/xor 运算。

参数

object: Object

属性类型默认值必填说明
andnumber进行位与运算的整形
ornumber进行位或运算的整形
xornumber进行位异或运算的整形

返回值

Command

使用说明

and/or/xor 只能选其一

示例代码

const _ = db.command
db.collection('todos').doc('doc-id').update({
  data: {
    // 假设原来是 2,则运算后是 3
    progress: _.bit({
      or: 1
    })
  }
})


SDK数据库 Command·查询·表达式操作符
SDK数据库 Command·更新·数组操作符
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小程序 指南

目录结构

开放能力

微信小程序 调试

微信小程序 实时日志

微信小程序 小程序测速

微信小程序 基础组件

微信小程序 API

媒体

界面

微信小程序API 绘图

微信小程序 服务端

接口调用凭证

统一服务消息

微信小程序 服务市场

微信小程序 生物认证

微信小程序 云开发

服务端

微信小程序云开发服务端API 数据库

SDK文档

微信小程序 扩展能力

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }