我得到了这个:
"users" : {
"simplelogin:129" : {
"-JbX-CJuMDf1H8-yCETV" : {
"gold" : {
"receive" : {
"amount" : 1,
"date" : 1416835946409,
"email" : "you@me.com"
}
}
},
但我需要这样的事情:
"users" : {
"simplelogin:130" : {
"date" : 1416834728422,
"email" : "yam@dam.com",
"id" : "130",
"gold" : {
"receive" : {
"-JbWva7Gh9Y3RarlF77h" : {
"amount" : 1,
"date" : 1416834737201,
"email" : "you@do.com"
},
如果我使用.update而不是.push,我会得到我需要的文件结构,但是它会为每个事务覆盖它,而不是每次都添加一个新的事务。
receive.orderByChild("email").equalTo( $scope.user.email ).once('child_added', function(snap) {
snap.ref().push({gold: {receive: myGold}}).then(function() {
});
答案 0 :(得分:0)
您的问题不是很清楚,但我认为您希望在树中更深入地推送新节点。
simplelogin:130
date: ...
email: "yam@dam.com"
id: 130
gold
received
-JbX-CJuMDf1H8-yCETV
amount: 1
date: ...
email: "yam@dam.com"
要将数据存入黄金/收到,您可以:
snap.ref().child('gold/receive').push(myGold);
首先首先找到要添加内容的节点,然后再调用push
添加一个新子项(带有新的唯一ID)。