как установить данные для объекта карты Firebase - PullRequest
0 голосов
/ 27 мая 2019

У меня есть объект карты Firebase, и мне нужно вставить массивы внутри

Я пытаюсь использовать функцию обновления, но она не работает

dialogRef.afterClosed().subscribe(result => {
  console.log(result);

  const arrayname = result.name;
  const fireupdate = this.af.list('/users/' + this.Uid + '/items').update(arrayname, result);
}); 

вот так выглядит результирующий массив

{name: "item", price: 25, desc: "a simple item"}

Я ничего не понимаю в базе огня here is my firebase structure

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Итак, что проще всего сделать, это добавить массив в документ, как показано в другом ответе.

this.db.collection("users").doc(this.Uid).update({items: [{name: "item", price: 25, desc: "a simple item"}, {name: "item2", price: 20, desc: "a simple item2"}]}) 

Вы должны быть осторожны с тем, что у firestore на самом деле нет хорошего способа запроситьмассив с объектами еще:

запрос массива

То, что Firestore хочет сделать, это в основном:

this.db.collection("users").doc(this.Uid).collection('items').add({name: "item", price: 25, desc: "a simple item"})
0 голосов
/ 27 мая 2019

Если я не ошибаюсь, делая this.af.list('/users/' + this.Uid + '/items').update(), вы фактически пытаетесь записать в Базу данных реального времени , см. https://github.com/angular/angularfire2/blob/master/docs/rtdb/lists.md#updating-items-in-the-list-using-update

Но база данных, которую вы показываете в своем вопросе: Firestore , другая служба баз данных, предлагаемая Firebase.

Вам следует использовать часть библиотеки angularfire2, посвященную Firestore, см. https://github.com/angular/angularfire2/blob/master/docs/firestore/documents.md#using-angularfirestoredocument

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...