我使用以下代码向Firebase添加新数据。
var postData = {
NSN: NSN,
ProductName: ProductName,
AssociatedContractNumber: AssociatedContractNumber,
ItemQuantity: ItemQuantity,
viewable_by: uid,
};
InventoryID = firebase.database().ref().child('Posts').push().key;
var updates = {};
updates['/Businesses/' + uid + '/Inventory/' + InventoryID] = postData;
我想做的是在子项“ NSN”中创建一个NSN列表,而无需唯一生成的帖子ID。但是所有尝试仅将NSN添加到子NSN的尝试都将旧的替换为新的NSN。因此,我得到的不是10个不同的NSN,而是1个。
我最初使用此代码
var postNSN = {
NSN: NSN,
};
updates['/Businesses/' + uid + '/National_Stock_Numbers/' + NSN] = postNSN;
以上仅将现有号码替换为新号码,而不添加新号码
我也试过了
var NSNref = database.ref('/Businesses/' + uid + '/NSNs/')
NSNref.set({
NSN: NSN,
})
但是什么也没发生。如何在没有唯一生成的密钥的情况下向子NSN添加新的NSN?
最佳答案
只需使用push()
假设您有和NSN一样的对象
var NSN = { ... }
firebase.database().ref().child('Posts').push(NSN);
这样做将始终将项目推送到NSN阵列的末尾,而Firebase将在推送时小心创建唯一密钥。
请记住,firebase不了解数组,仅了解对象。