是否可以使用 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 中没有内置任何东西来获取新项目,因此您必须自己构建一些东西。

两个最常见的选项:

  1. 在每个节点中存储一个 timestamp 值,然后仅查询“现在”之后的项目,例如 ref.orderBy("timestamp").startAt(Date.now()).
  2. 从现在开始,使用类似 ref.orderByKey().startAt(ref.push().key).
  3. 的按键