我正在使用以下js代码:
var grade_type = document.getElementById("grade_type").value;
gradesRef.set({
grade_type: firebase.firestore.FieldValue.arrayUnion(grade)
});
但是在我的Cloud Firestore中,该字段将被命名为:“ grade_type”。但我想将字段的名称命名为 grade_type的值。
该怎么做?
答案 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)