【发布时间】:2017-07-05 19:43:24
【问题描述】:
我使用 Firebase 作为 Ionic 2 应用程序的数据库。
我写了以下方法,将所有子节点中的所有年龄字段更新为值 7(用于测试目的):
multiupdate(){
var pc;
this.memberProfileref.child('/members/').once('value',(snapshot)=> {
snapshot.forEach(child=> {
this.setAge(child.key); // Will update all the age fields to 7 (works well)
return false;
});
});
}
setAge(UserId){
this.memberProfile.child(UserId).update({
age:7
});
}
上面的代码运行良好。
想要更新年龄值,我现在需要进行计算,然后进行更新。
我需要从 Firebase 获取 duedate,使用以下方法并根据今天计算持续时间:
setduration(lastday){
var today= moment().format('L');
var durationd = moment(lastday).diff(moment(today));
var dd=moment.duration(durationd).as('days');
console.log(dd);
}
但是当我调用该方法时 [就像我对 setAgemethod() 所做的那样],它无法获得结果。如何修改代码来解决这个问题?
【问题讨论】:
-
您的问题不清楚。你把什么传递给setduration?是
duedate吗?你在conlose.log(dd)的输出中看到了什么?另外,我会使用moment().valueOf()来比较两个时间戳。 -
@Ari 7 感谢您的回复。是的,我需要一个一个地遍历所有 chidnodes 并获取 duedate ,然后将其传递给方法 setduration( ) 并获取持续时间。之后,在 firebase 中更新字段 duration.
标签: javascript angular firebase firebase-realtime-database ionic2