Хобрук: Ваш путь к мастерству в программировании

Как получить последние обновленные данные из firebase?

Образец базы данных Firebase

Пример как получить последний обновленный узел из firebase в приведенной выше ссылке на изображение:

  1. DATA & SECOND_DATA содержит одинаковые объекты узлов. [иметь несколько таких узлов] около 8 узлов в реальном приложении.
  2. Все объекты могут быть обновлены, т.е. data1, data2, data3. . . с обоих узлов.
  3. Атрибуты объекта одинаковы для всех узлов (имя, пароль), меняется только значение. Мне нужно получить последний обновленный узел. я, э. если DATA.data3 обновляется, а затем следующий DATA.data2 обновляется в firebase. как мне получить последнее значение для этих конкретных ДАННЫХ. Это DATA.data1, а затем DATA.data3
  4. Изображение является просто примером. И имя БД какое-то шаблонное. В реальном приложении some-sample также является узлом. я, э. some-sample также является родительским узлом, DATA и SECOND_DATA — дочерним узлом для some-sample.

Это значение будет обновляться в div Angularjs каждый раз, когда обновляются последние данные firebase. т. е. если он изменится в DATA, информация будет изменена в DATA div, если она изменится в SECOND_DATA, информация в angular будет изменена в разделе SECOND_DATA

К вашему сведению: я новичок в Firebase и Angular. Не смог найти эти. Пример был бы действительно большим спасибо.


Ответы:


1

Облачные функции Firebase могут помочь вам в этом сценарии.

Вам нужно установить триггер на желаемый путь, где могут произойти изменения.

export const onUpdate = functions.database.ref('some-samples/{firstId}/{secondId}').onUpdate(event => {
    let firstId = event.params.firstId;
    let secondId = event.params.secondId;
    let data = event.data.val();
    ...
});

Здесь вы можете выполнить некоторую задачу, которая может быть обработана сервером, вместо того, чтобы выполнять ее на стороне клиента. Даже если клиент неактивен, задача будет выполнена.

19.03.2018

2

в последней версии firebase (7.14.4) не нужно использовать другой метод для получения последних обновленных данных.

просто получите данные из firebase с помощью метода snapshotChanges()

crud.service.ts

import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';

@Injectable({
    providedIn: 'root'
})

export class CrudService {
    constructor(private firestore: AngularFirestore) { }
  
    //get data from firebase
    getFFList() {
      return this.firestore.collection('ff_list').snapshotChanges();
    }
 }

и получить служебные данные из компонента, используя

app.component.ts

import { CrudService } from './services/crud.service';

export class AppComponent implements OnInit {
  
  constructor(public crudService: CrudService) { }
  
  ngOnInit() {

    //get data
    this.crudService.getFFList().subscribe(data => {
      this.fflist = data.map(e => {
        return {
          id: e.payload.doc.id,
          ffdata: e.payload.doc.data(),
        };
      })
      console.log(this.fflist, "fflist");
    });

  }
  
}

ваши новые обновленные данные или недавно добавленные данные автоматически отображаются в вашем списке HTML. Я надеюсь, что это полезно для вас, ребята, спасибо.

17.05.2020
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..