Firebase Cloud Firestore, который в настоящее время находится на стадии бета-тестирования, представляет собой «следующее поколение базы данных в реальном времени с более мощными запросами и автоматическим масштабированием». Он был приобретен Google в 2014 году и представляет собой облачное решение для базы данных NoSql в реальном времени.

Теперь, когда я показал вам, как читать и записывать данные в Firebase's Firestore, после этой статьи вы сможете обновлять данные.

Шаг 1: настройте среду.

Чтобы настроить среду Firebase, см. Мою предыдущую статью.

Шаг 2. Добавьте данные в базу данных.

Добавьте коллекцию с именем items, присвойте ей идентификатор документа, равный 1, а затем укажите поле с именем name.

Шаг 3. Измените свой HTML, добавив новые поля и кнопки.

Нам понадобится текстовое поле, кнопка и переменная для асинхронной привязки данных.

app.component.html

<div style="text-align:center">
  Update this new item:
  {{ (item | async)?.name }}<br>
  <input #updateName><br>
  <button (click)="update(updateName.value)">Change User Name</button>
</div>

Шаг 4. Измените свой машинописный текст.

Нам нужно написать и обновить функцию, а также изменить конструктор, чтобы изначально получить коллекцию элементов. Кроме того, нам нужно будет использовать интерфейс для элемента.

export interface Item {
  name: string;
}

В конструкторе вставьте службы AngularFirestore, а затем выполните привязку к коллекции элементов.

constructor(public afAuth: AngularFireAuth, db: AngularFirestore) {
  this.afAuth.auth.signInAnonymously();
  this._db = db;
  this.itemDoc = this._db.doc<Item>('items/1');
  this.item = this.itemDoc.valueChanges();
}

Теперь напишите свою функцию обновления.

update(sName: string) {
  let tmp: Item = { name: sName };
  this.itemDoc.update(tmp);
}

Наконец: запустите приложение.

Чтобы запустить в режиме разработки, откройте терминал и запустите:

ng serve — open

Чтобы построить для производства с AOT и treehaking:

ng build --prod --build-optimizer

Вот репозиторий git.