我正在尝试将数据添加到Firebase的现有节点中。但是每次我使用UPDATE,SET或SETWITHPRIORITY时,都会删除现有数据。如何在答案对象中添加更多答案?
config.vm.synced_folder
我现在有这个...
{
question:
{
title:"What's your favorite food?",
answers:
{
answer:"pizza"
}
}
}
答案 0 :(得分:1)
正如André所说:给定节点下的键必须唯一。因此,如果您更新answers/answer
,它将替换现有的answers/answer
值。要添加新答案,它需要有一个新的唯一键,例如answers/answer2
。
生成唯一密钥的常用方法是使用Firebase内置的push()
方法。这将生成一个按时间顺序排列的密钥,保证该密钥是唯一的,即使该应用程序处于脱机状态,该密钥也将继续起作用。要使用push
添加答案,您可以这样做:
quizzesRef.child(quizId + '/questions/question/answers').push("sushi");
由push()
生成的密钥最初看起来过于复杂。我建议不要使用更简单的键。 Firebase的推送ID是许多问题的惯用解决方案。通过在应用程序中使用它们,可以避免在开发和调试中浪费大量时间。