javascript 如何在Firebase Database update()方法上动态指定“key”名称?

ryoqjall  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(118)

我正在使用TypeScript构建一个Angular 4应用程序,我想使用update()方法将一些数据添加到Firebase数据库中,同时从userId属性动态指定'key'名称:

this.products = this.afdb.list('/products/');

this.products.update(this.productId, {
    this.userId : this.myRating
})

这里的问题是this.userId不能作为“key”名称添加,谁能给予我一个提示?
先谢谢你了。

oymdgrw7

oymdgrw71#

你只需要用一个不同的对象符号。。

{
    this.userId : this.myRating
}

不起作用
试试这个:

var obj = {};
obj[this.userId] = this.myRating;
this.products.update(this.productId, obj);
bmp9r5qi

bmp9r5qi2#

这可能有点晚,但提供了一种在firestore中保存“动态”指定属性名称的方法:

const docRef = admin.firestore().collection("products").doc("productID");
const myObj: {[key: string]: admin.firestore.FieldValue} = {};
obj[this.userId] = this.myRating;

docRef.set(myObj, {merge: true});

如何从云函数中更改firestore文档中字段的值(动态获取)?

相关问题