javascript - 如何在没有 firebase 生成随机 ID 的情况下 push() - Webapp
问题描述
这是代码,set() 将不起作用,因为我想添加更多名称和值,因为当我想从程序中删除时,我不知道自动生成的 id。是否有任何不会生成此 ID 的替代 push() 方法?
//Firebase
var database = firebase.database();
var ref_income = database.ref('Income');
var ref_expense = database.ref('Expense');
//Add month tracker for firebase
var now = new Date();
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var month = now.getMonth();
var ref_budget = database.ref('Budget/' + months[month]);
//To eliminate income or expense
return {
addItem: function(type, des, val){
var newItem,
ID;
// Create new ID
if(data.allItems[type].length > 0){
ID = data.allItems[type][data.allItems[type].length-1].id+1;
}
else {
ID = 0;
}
// Create new item based on "inc" or "exp" type
if(type === "exp"){
newItem = new Expense(ID,des,val);
//Identifying using indexes to determine the parameters of the object
var key_des = Object.keys(newItem)[1];
var key_val = Object.keys(newItem)[2];
//Object including descritption as name and income as value to be pushed to firebase
var Expense_data = {
[newItem[key_des]]: newItem[key_val]
}
//Checking on console whether Firebase has recieved it
console.log(Expense_data)
//Adding the objects into firebase
ref_expense.push(Expense_data)
}
else if(type === "inc") {
newItem = new Income(ID,des,val);
var key_des = Object.keys(newItem)[1];
var key_val = Object.keys(newItem)[2]
//Object including descritption as name and income as value to be pushed to firebase
var Income_data = {
[newItem[key_des]]: newItem[key_val]
}
//Checking on console whether Firebase has recieved it
console.log(Income_data);
//Adding the objects into firebase
ref_income.push(Income_data)
}
// Push it into our data structure (Not for firebase)
data.allItems[type].push(newItem);
// Return the new element
return newItem;
},
deleteItem: function(type,id,des){
var ids,
index;
ids = data.allItems[type].map(function(el){
return el.id;
});
index = ids.indexOf(id);
if(index !== -1){
data.allItems[type].splice(index, 1);
}
},
这就是 firebase 显示的内容,我将无法知道 id -M2CsPaog ...:
解决方案
推荐阅读
- ruby-on-rails - 在 Rails 中的查询中获取连接模型值以及其他值
- python - 将单个字符串存储到集合中
- php - Laravel,如何在路线中允许特殊字符(#)
- tfs - 分支机构政策:需要至少 1 名指定批准者的批准
- angular - Angular Parent 到 Child-in-Array 通信
- python - 使用 QMediaPlayer 在 QVideoWidget 顶部显示小部件
- charts - 谷歌图表 - 无效的数据表格式:
- ios - NSStackView 子视图不调整子堆栈视图的大小
- tensorflow - 在 Tensorflow 中,name、^name 和 name:digits 之间有什么区别?
- sql-server - SSIS平面文件源sql目标错误