2017-10-18 6 views
1

J'ai ajouté le chat sur mon projet. J'utilise la base de données en temps réel Firebase.Comment prendre les données de la dernière entrée sur le chat en temps réel firebase

Mais je ne veux pas prendre toutes les données sur la base de données, je voudrais prendre des données de la dernière entrée comme WhatsApp.

comment est-ce que je peux faire ceci?

Je prends des données avec ce code;

messages: object[] = []; 
_chatSubscription; 

    constructor(public navCtrl: NavController, public navParams: NavParams,public db: AngularFireDatabase,public camera:Camera,private imagePicker:ImagePicker, 
    public cropService: Crop,public translate: TranslateService,private toastCtrl: ToastController) { 
    this.username = this.navParams.get('username'); 
    this._chatSubscription = this.db.list('/'+this.navParams.get("chatid")).subscribe(data => { 
     this.messages = data; 
    }); 
    } 

Merci, bonne journée.

Répondre

1

Ma suggestion est d'ajouter un champ datetime et limiter le résultat avec:

orderByChild("dateTime").limitToLast(1) 

Dans votre situation votre code sera:

this.db.list('/'+this.navParams.get("chatid").orderByChild("dateTime").limitToLast(1) 
+0

Ce commentaire m'a guidé. Merci – Ahmet