是否可以使用 angularfire 仅获取更新值?
Is it possible to get only the updated value with angularfire?
我正在使用 angularfire 和实时数据库
我有一个数据库:
actions:{
uid1: {
meta...
},
uid2: {
meta...
},
uid3: {
meta...
},
uid4: {
meta...
},
}
我制作了一个显示所有这些操作的编辑器。现在假设我添加了一个操作 (uid5
) 我的 valueChanges
方法在我只需要更新值时将所有 uid 发回给我。
我会做类似这样的事情
ngOnInit(){
this.db.object(`actions`).valueChanges().subscribe(
(actions) => console.log(actions) // here I get first time uid1{}, uid2{} ..., uid4{}
//second time after adding uid5 I would get uid5{} only.
)
}
那么有可能吗,是否有一些特定的事件或任何事情,或者我应该提出功能请求?
Firebase 或 AngularFire 中没有内置任何东西来获取新项目,因此您必须自己构建一些东西。
两个最常见的选项:
- 在每个节点中存储一个
timestamp
值,然后仅查询“现在”之后的项目,例如 ref.orderBy("timestamp").startAt(Date.now())
.
- 从现在开始,使用类似
ref.orderByKey().startAt(ref.push().key)
. 的按键
我正在使用 angularfire 和实时数据库 我有一个数据库:
actions:{
uid1: {
meta...
},
uid2: {
meta...
},
uid3: {
meta...
},
uid4: {
meta...
},
}
我制作了一个显示所有这些操作的编辑器。现在假设我添加了一个操作 (uid5
) 我的 valueChanges
方法在我只需要更新值时将所有 uid 发回给我。
我会做类似这样的事情
ngOnInit(){
this.db.object(`actions`).valueChanges().subscribe(
(actions) => console.log(actions) // here I get first time uid1{}, uid2{} ..., uid4{}
//second time after adding uid5 I would get uid5{} only.
)
}
那么有可能吗,是否有一些特定的事件或任何事情,或者我应该提出功能请求?
Firebase 或 AngularFire 中没有内置任何东西来获取新项目,因此您必须自己构建一些东西。
两个最常见的选项:
- 在每个节点中存储一个
timestamp
值,然后仅查询“现在”之后的项目,例如ref.orderBy("timestamp").startAt(Date.now())
. - 从现在开始,使用类似
ref.orderByKey().startAt(ref.push().key)
. 的按键