【发布时间】:2021-04-15 04:35:03
【问题描述】:
我尝试将值推送到子节点,但每次推送新值时它都会被覆盖。如何将值推送到存在覆盖问题的子节点?
【问题讨论】:
-
请不要发布您的代码截图或其他文本内容。而是发布实际文本,并使用 Stack Overflow 的格式化工具进行标记。
标签: javascript node.js express firebase-realtime-database
我尝试将值推送到子节点,但每次推送新值时它都会被覆盖。如何将值推送到存在覆盖问题的子节点?
【问题讨论】:
标签: javascript node.js express firebase-realtime-database
一种方法是先获取数据。所以,在你设置数据之前,试试这个:
var commands = database.ref("bots/" + bot.id + "/commands")
.once('value')
.then((snapshot) => return snapshot.val());
它的作用是从实时数据库中获取当前数据并将其存储到一个名为“command”的变量中。
现在,要设置新值,您只需将新值添加到“命令”即可。
commands[**your id here**] = {
id: command.id,
name: command.name,
file: file
});
然后,您所要做的就是将“commands”变量推送到数据库引用,您将看到以前的数据已保存,您可以添加新数据。
【讨论】: