Firebase提供了一个“0”而不是实际的variables内容
我正在更新一个名为消息线程的字段下的数据库中的值。 在那个线程下,我想存储所有用户的密钥,并且在那个密钥中我想要他们的图片。 从这里我已经构build了一个包含以下内容的循环:
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的值下,它将置零。
有什么build议么?
“0”是数组索引(因为您正在推送数组[groupPic]
而不是一个普通的值,这很简单,只需使用groupPic
。
dynamic键名称有点棘手:最简单的方法是在将其设置在Firebase之前提前定义对象:
var newVal = {}; newVal[groupUID] = groupPic; firebase.database().ref('path/to/ref').update(newVal);
要么:
所以我今天学到了东西! (谢谢!)现在我明白你是如何在一开始就无意中使用数组。
你使用的速记符号很好,我以前从来没有见过。 所以这也可以起作用,相当于上面的内容(如果可能会更难以理解,因为它看起来像是一个数组):
firebase.database().ref('path/to/ref').update({[groupUID]: groupPic});
- 使用新的Firebase的Nodejs应用程序不会检索数据库项目
- 使用Node.JS的iOS Firebase Flashlight / ElasticSearch Heroku安装程序
- 用于Firebase的ESOCKETTIMEDOUT云function
- firebase是否为每个admin.auth()。verifyIdToken(idToken)发出networking请求?
- firebasefunction来触发通知
- 如何从Firebase发送通知到node.js?
- 使用Firebase FCM和Google App Engine发送通知
- 将Firestore依赖项和types导入到node.js
- Firebase .on('value')代码块不在内部执行云function。 任何build议要解决?