gpt4 book ai didi

node.js - Firebase写入 "0"而不是实际的变量内容

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:12 25 4
gpt4 key购买 nike

我正在更新数据库中名为消息线程的字段下的值。在该线程下,我想存储所有用户的 key ,并在该 key 中我想要他们的照片。由此我构建了一个包含以下内容的循环:

                firebase.database().ref('users/' + userUID + '/messageThreads/' + newThreadID).update({
"date": currentDate.getTime(),
"lastMessage": "",
"read": false,
"isGroup": true
});
console.log(groupUID);
firebase.database().ref('users/' + userUID + '/messageThreads/' + newThreadID + "/" + "userUID").update({
[groupUID]: [groupPic]
});

由于某种原因,在数据库中而不是 groupUID 的值下,它放置了一个零。

enter image description here

有什么建议吗?

最佳答案

“0”是数组索引(因为您插入数组[groupPic]而不是普通值。这很简单,只需使用groupPic即可。

动态键名称有点棘手:最简单的方法是在将对象设置到 firebase 之前提前定义对象:

var newVal = {};
newVal[groupUID] = groupPic;

firebase.database().ref('path/to/ref').update(newVal);

或者:

今天我学到了一些东西! (谢谢!)现在我明白了您最初是如何无意中使用数组的。

您用于 key 的速记符号很好,我只是以前从未见过。所以这也可以工作,它相当于上面的(如果阅读起来可能有点困惑,因为它看起来就像它将是一个数组):

firebase.database().ref('path/to/ref').update({[groupUID]: groupPic});

关于node.js - Firebase写入 "0"而不是实际的变量内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com