gpt4 book ai didi

javascript - 如何设置新的 firebase 插入的 id

转载 作者:行者123 更新时间:2023-11-30 15:23:44 24 4
gpt4 key购买 nike

import { Injectable } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
/*
Generated class for the FirebaseService provider.

See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class FirebaseService {

users:FirebaseListObservable<any>;

constructor(public angularFire: AngularFire,) {
console.log('Hello FirebaseService Provider');
this.users=this.angularFire.database.list('users');
}

saveuser(user){
this.users.push(user);
}

}

您好,在这段代码中,我正在尝试将新用户添加到用户表下的 firebase 表中,问题是我找不到设置方法,我只能访问推送,这是我做错了什么吗?谢谢你的帮助

最佳答案

AngularFire2 不会为列表可观察对象公开set。你应该使用 update相反。

当您查看对象 observable 时,这是有道理的,它确实公开了 set。当在可观察对象上调用 set 时,数据库对象的全部内容将替换为指定值。

通常,您永远不会想要替换整个列表,因此 set 不被公开是有道理的。 update 是合适的,因为您正在更新列表以添加新用户。

this.users.update(user.id /* or whatever is to be the key */, user);

或者,您可以使用 list observable 的 SDK ref 来调用 set:

this.users.$ref.ref.child(user.id /* or whatever is to be the key */).set(user);

关于javascript - 如何设置新的 firebase 插入的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43301717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com