我正在尝试在更新期间添加子节点。最好的例子:
name: 'mike'
address: '123 main street'
name: 'paul'
address: '1189 second avenue'
name: 'ethyl'
address: '22 appletree lane'
pet_count: 3
所以,“迈克”下车并在避难所找到一只狗,所以如果他没有,或者如果他有一个,那么我必须加上他的宠物。期望的结果是:
name: 'mike'
address: '123 main street'
pet_count: 1
name: 'paul'
address: '1189 second avenue'
name: 'ethyl'
address: '22 appletree lane'
pet_count: 3
现在,如果我在迈克的快速增长的牛群中添加另一只宠物,我会......
name: 'mike'
address: '123 main street'
pet_count: 1
name: 'paul'
address: '1189 second avenue'
name: 'ethyl'
address: '22 appletree lane'
pet_count: 3
我理解计数的递增是特定于应用程序的,我很好。我只是没有看到如果没有pet_count
节点那么添加它。任何语言都可以。如果你想在代码中回答,Javascript似乎是中立的。
我尝试过这样的事情:
nameRef.child('mike').set({address: '123 main street',
pet_count: 1});
它会触发改变的事件,但我无法在Forge上看到它。我不认为数据是持久的。
我也试过了:
nameRef.update({name: 'mike', {address: '123 main street',
pet_count: 1});
最后两个应该是等价的,对吧?
任何提示我在这里缺少什么?
答案 0 :(得分:1)
在做过您尝试过的事情之后,您在Firebase中获得了什么样的宠物数量?如果pet_count显示为1或者根本没有在firebase中显示,我无法从您的问题中判断出来。看起来您每次都将pet_count设置为1。不确定你的增量计数器是什么样的,而不是做pet_count:1,将它设置为你的计数器的值,pet_count:Counter Value
nameRef.child('mike').set({name: 'mike', {address: '123 main street',
pet_count: CounterValue});
我不知道如果新密钥不存在,更新是否会创建新密钥。