SDK數(shù)據(jù)庫 Command·更新·字段操作符

2022-05-12 16:55 更新

Command.set(value: any): Command

支持端:小程序 , 云函數(shù) , Web

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

參數(shù)

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

支持端:小程序 , 云函數(shù) , Web

更新操作符,用于表示刪除某個字段。

返回值

Command

示例代碼

刪除 style 字段:

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

Command.inc(value: number): Command

支持端:小程序 , 云函數(shù) , Web

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

參數(shù)

value: number

自增量,可正可負

返回值

Command

原子自增

多個用戶同時寫,對數(shù)據(jù)庫來說都是將字段自增,不會有后來者覆寫前者的情況

示例代碼

將一個 todo 的進度自增 10:

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

Command.mul(value: number): Command

支持端:小程序 , 云函數(shù) , Web

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

參數(shù)

value: number

自乘量,可正可負

返回值

Command

原子自乘

多個用戶同時寫,對數(shù)據(jù)庫來說都是將字段自乘,不會有后來者覆寫前者的情況

示例代碼

將一個 todo 的進度自乘 10:

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

Command.min(value: any): Command

支持端:小程序 2.8.3, 云函數(shù) 1.2.1, Web

更新操作符,給定一個值,只有該值小于字段當前值才進行更新。

參數(shù)

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, 云函數(shù) 1.2.1, Web

更新操作符,給定一個值,只有該值大于字段當前值才進行更新。

參數(shù)

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, 云函數(shù) 1.2.1, Web

更新操作符,字段重命名。如果需要對嵌套深層的字段做重命名,需要用點路徑表示法。不能對嵌套在數(shù)組里的對象的字段進行重命名。

參數(shù)

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, 云函數(shù) 1.2.1, Web

更新操作符。對字段進行位運算,可以進行 and/or/xor 運算。

參數(shù)

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
    })
  }
})


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號