несколько запросов в firebase firestore с угловым - PullRequest
0 голосов
/ 28 ноября 2018

Я внедряю систему на angular, которая делает запрос, который выбирает данные недели назад, и другую кнопку, которая выбирает данные один день назад, но появляется эта ошибка:

Uncaught (в обещании): FirebaseError: [code = invalid-аргумент]: неверный запрос.Вы можете выполнять сравнения равных только для NaN.

Это мой код

import { Injectable } from '@angular/core';
import { tempFirebaseRepo } from './../Repository/tempFirebase'
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/firestore';
import 'rxjs/add/operator/map';

import {Dispositivo} from './../models/Dispositivo';
import {Observable} from 'rxjs';


@Injectable({
providedIn: 'root'
})
export class query {
dispositivoRef:AngularFirestoreCollection<Dispositivo>;
dispositivoRefUno:AngularFirestoreCollection<Dispositivo>;
dispositivoRefDos:AngularFirestoreCollection<Dispositivo>;
dispositivoRefTres:AngularFirestoreCollection<Dispositivo>;
ultimaSemana: Observable<Dispositivo[]>;
ultimoDia: Observable<Dispositivo[]>;

    constructor(private afs:AngularFirestore, private _tempFirebaseRepo:tempFirebaseRepo){}

    getDia(){

        let cadena=this._tempFirebaseRepo.getCadenaFecha(20)

        //aca esta la query de Firestore
        this.dispositivoRef = this.afs.collection('Dispositivo', ref =>{
            return ref.where('timestamp', '>', Number(cadena))
        })
        debugger;
        this.ultimoDia = this.dispositivoRef.valueChanges(); 

        return this.ultimoDia;

    }

    getSemana(){

        let cadena=this._tempFirebaseRepo.getCadenaFecha(7)

        //aca esta la query de Firestore
        this.dispositivoRef = this.afs.collection('Dispositivo', ref =>{
            return ref.where('timestamp', '>', Number(cadena))
        })
        debugger;
        this.ultimaSemana = this.dispositivoRef.valueChanges(); 

        return this.ultimaSemana;

    }

}

, а затем я вызываю эти методы здесь:

    import { Injectable } from '@angular/core';
import {query} from '../../Repository/query';
import 'rxjs/add/operator/map';

@Injectable({
  providedIn: 'root'
})
export class tempFirebaseService {
  public ultimaSemana;
  public ultimoDia;

  constructor(private _query:query){

    this.ultimaSemana = this._query.getSemana();
    this.ultimoDia = this._query.getDia();   
  }

  //funcion que se invoca en el componente
  /*getUltimaSemana(){
    return this.ultimaSemana;
  }*/

  getUltimoDia(){
    return this.ultimoDia;
}

}
...