【问题标题】:Reference.child failed: First argument was an invalid pathReference.child 失败:第一个参数是无效路径
【发布时间】:2018-02-07 15:32:02
【问题描述】:

当我从带有参数的数据库中获取对象时出现此错误:

代码组件:

 constructor(public employeeService:EmployeeService, public router:Router, public activatedRoute:ActivatedRoute) { }

      ngOnInit() {
        this.email = this.activatedRoute.snapshot.params['email'];
        this.employeeService.getEmployee(this.email).subscribe(employee => {
            if (employee.salary >0) { this.hasSalary = true;}
            this.employee = employee;
            console.log(this.employee);
        });
      }

代码服务:

   getEmployee(email:string)
   {
     return this.item = this.af.object('employeesdb/'+email).valueChanges() as FirebaseObjectObservable<Employee>; 
   }

【问题讨论】:

    标签: angular firebase angularfire angularfire2


    【解决方案1】:

    您需要使用给定的电子邮件查询集合并获取对象。试试

    ngOnInit() {
        this.email = this.activatedRoute.snapshot.params['email'];
        this.employeeService.getEmployee(this.email).subscribe(employee => {
            employee.forEach(snapshot=>{
                console.log(snapshot);
            }
        });
      }
    

    使用angularfire的查询方法

    getEmployee(email:string)
       {
         return this.item = this.af.list('/employeesdb', ref => ref.orderByChild('email').equalTo(email)).valueChanges(); 
       }
    

    【讨论】:

    • 我忘记在路径开头添加斜线,我更新了答案,现在试试。
    • 你可能不需要as FirebaseObjectObservable&lt;Employee&gt;
    • 也是错误 Hareesh .. 我得到参数,但路径数据库中有错误 .. 在我的情况下,路径是:namedb 与电子邮件连接:namedbemail .. 如何使用电子邮件从 firebase 获取数据,我使用 angularfire2
    • 您应该考虑重命名数据库名称。如果您创建自己的密钥,它们必须是 UTF-8 编码的,最多可以是 768 个字节,并且不能包含 .、$、#、[、]、/ 或 ASCII 控制字符 0-31 或 127。检查此doc了解更多
    【解决方案2】:

    正如错误所说,您的路径可能不包含点 (.) 您正在使用电子邮件地址作为参数,其中显然包含一个点。 我建议为每个员工生成一个 ID,并通过分配的 ID 获取员工。

    【讨论】:

    • 但在数据库 firebase 我有这个输出:imgur.com/a/Es2DI .. 这是属性:姓氏、名字、电子邮件、电话、薪水和国家
    • 请帮忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2018-01-15
    • 2017-12-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多