收藏
回答

db.collection.update()的data属性怎样设为动态字段?

var progress='任意字符串'//没有效果
db.collection('todos').doc('todo-id').update({
  data: {
    progress: _.inc(10)//这里只是固定字段progress,不能实现'任意字符串'值加10
  }
})
这里的progress怎样换成变量?让'todo-id''任意字符串'的值加10

看到一个帖子:  data: {
 `${this.data.phn}`: this.data.ph, // 报错,编译不过
  }
回答关注问题邀请回答
收藏

1 个回答

  • 余生
    余生
    2023-09-21

    这样写

    var progress = '任意字符串';  
    db.collection('todos').doc('todo-id').update({  
      data: {  
        [progress]: _.inc(10) // 使用方括号语法将变量progress的值作为属性名  
      }  
    });
    


    关于你看到的帖子中的错误,那是因为在对象字面量中,你不能使用模板字符串(${})来定义属性名。你应该使用方括号([])语法。所以,你应该将帖子中的代码修改为以下样子:

    data: {  
      [this.data.phn]: this.data.ph // 使用方括号语法将this.data.phn的值作为属性名  
    }
    
    2023-09-21
    有用 2
    回复 1
    • 华
      2023-09-21
      谢谢,方法有用
      2023-09-21
      1
      回复
登录 后发表内容