Как переместить объекты из массива в firstore в angular

#angular #angularfire

#angular #angularfire

Вопрос:

У меня есть файл json, который я хочу перенести все объекты в файле json в firestore

Вот как выглядит json

 [
   {
      "John":23m,
      "Mike":34m,
      "Adam":12m
   },
   {
      "John":45m,
      "Mike":45m,
      "Adam":67m
   },
   {
      "John":90m,
      "Mike":4m,
      "Adam":2m
   },
   {
      "John":23m,
      "Mike":3m,
      "Adam":1m
   },
   {
      "John":230m,
      "Mike":334m,
      "Adam":132m
   }
]
  

В моем ts-файле я использовал http.get() для извлечения данных

 public url='assets/data.json';
public rowData=[];

ngOnInit() {
    this.retrieve()
    .subscribe(data => this.rowData =data);
}


retrieve():Observable<DataInterface[]>{
    return  this.http.get<DataInterface[]>(this.url)
};
  

Теперь я хочу нажать rowData на firestore

Я попробовал это:

 uploadToFirestore(){
    return this.firestore.collections('data').add(this.rowData)
    //I got an error showing that I can't send Array to firestore 
}
  

Есть ли какой-либо обходной путь?

Комментарии:

1. Я не знаю firestore, но не отправляйте массив, если он не поддерживается! Попробуйте создать из него объект, например: this.firestore.collections(‘data’).add({ mydata: this.rowData }); Это работает?

2. Я пытаюсь увидеть результат

3. @JanosVinceller идеально, но был отправлен только первый объект, и он умножился так много раз

4. @JanosVinceller Пожалуйста, добавьте это в качестве ответа, чтобы Awabil мог принять ваш ответ и закрыть этот вопрос.

Ответ №1:

Попробуйте создать из него объект, например:

 this.firestore.collections('data').add({ mydata: this.rowData });