在js中将var用于Cloud Firestore

时间:2018-11-18 19:25:49

标签: javascript html firebase google-cloud-firestore

我正在使用以下js代码:

var grade_type = document.getElementById("grade_type").value;

gradesRef.set({
          grade_type: firebase.firestore.FieldValue.arrayUnion(grade)
        });  

但是在我的Cloud Firestore中,该字段将被命名为:“ grade_type”。但我想将字段的名称命名为 grade_type的值
该怎么做?

3 个答案:

答案 0 :(得分:2)

gradesRef.set({
      [grade_type]: firebase.firestore.FieldValue.arrayUnion(grade)
    }); 

答案 1 :(得分:0)

这与Firebase无关,您只是在寻找一种在NodeJS中用可变键编写对象文字的方法。有很多文章对此进行了解释,包括this one

@MrAleister的答案似乎是最简单的一个{[variable_name]:value}

答案 2 :(得分:0)

您可以像这样在JavaScript中使用变量的值设置属性的名称:

char pipe[30];
int fd, tmp = 2;
sprintf(pipe, "root_%d", getpid());
ret_val = mkfifo(pipe, 0666);
fd = open(pipe, O_WRONLY); //HERE IS CRASHING - SUDDENLY FREEZES
write(fd, &tmp, sizeof(int));
close(fd)

然后将对象传递到Firestore:

const fields = {}
fields[grade_type] = firebase.firestore.FieldValue.arrayUnion(grade)