我正在構建一個步驟計數器應用程序。 我得到了一個iOS應用是推動每一天/用戶/ {移動} /措施/ {日期}/ 當一個新的步驟,孩子被更新或添加的總和,我要總結的針對所有步驟的價值特定用戶並更新他的stepsTotal
。如何增加Firebase中現有對象的值?
爲了實現這個目標,我需要
- 找到原來的用戶和總結的所有步驟。
- 保存新的價值stepsTotal。
我將不勝感激,如果有人在這裏可以給予一定的幫助。 :-)
數據庫
{
"users": {
"92291000": {
"firstName": "Tore",
"stepsTotal": "1500",
"steps": {
"02-09-2017": "500",
"03-09-2017": "1000"
},
import.js
var db = admin.database();
var dbRoot = db.ref("/");
var usersRef = dbRoot.child("users");
// This works
function saveUser(attributes) {
let mobile = attributes.mobile;
delete attributes['mobile']
let user = usersRef.child(mobile);
user.update(attributes);
}
function increaseSteps({ mobile=null, steps=null } = {}) {
// Find the User
console.log("looking for mobile", mobile); // OK
let userRef = usersRef.child(mobile);
// Here I'm not able to read the old data from the user.
userRef.transaction(function(user) {
console.log("user: ", user); // null
//^User is null.
});
/*
If I mangage to find user above, I expect to do something like this.
Or it is possible to only update *stepsTotal*?
*/
let attributes = {
firstName: user.firstName,
lastName: user.lastName,
stepsTotal: user.stepsTotal + steps,
}
user.update(attributes);
}