Как установить данные в базе данных Firebase из массива?

1

Можете ли вы помочь мне решить эту проблему?

export class SomePage {
reg = [{apple: 201, ball: 21, cat: 12}, {apple: 202, ball: 65, cat: 15}];

constructor() {
  firebase.database().ref('app/test').set({
    // i want to set all ***cat*** values here like:
    // key1: 12
    // key2: 15
})

,

Пытался извлечь значения cat с помощью этого метода:

let keys = this.reg.map(a => a.cat);
console.log(keys);  // <unavailable>
  • 0
    Вы можете извлечь значения кота, используя фильтр. var catValues = reg.filter(function(item){ console.log(item['cat'])});
  • 0
    Будет ли он извлекать данные массива для переменной catValues ? Он просто покажет консольный журнал, например this.reg.forEach((snap) => {console.log(snap.cat)});
Показать ещё 1 комментарий
Теги:
angular
ionic3
firebase-realtime-database

2 ответа

0

Выяснили решение:

this.reg.map(a => { 
  let first = a.ball; // or add any key
  let addORupdate = {};
  addORupdate[first]  = a.cat;  // expected value from array
  firebase.database().ref('app/test').update(addORupdate);
  // this will add 21:12 and 65:15 under the parent "test"
});
0
  1. У вас есть рег-массив объектов.
  2. Инициализировать resultObject
  3. Создайте счетчик, чтобы увеличить ключ resultObject
  4. Отфильтруйте все значения cat из массива reg и установите для него resultObject.
  5. Обновите его в своей firebase db.

//1
var reg = [{apple: 201, ball: 21, cat: 12}, {apple: 202, ball: 65, cat: 15}];
//2        
var resultObject = {};
//3
var count = 0;
//4
reg.filter(function(elem){ resultObject['key'+ ++count] = elem.cat});
//5
constructor() {
  firebase.database().ref('app/test').set(resultObject);
}
  • 0
    first argument contains undefined in property 'app.test.undefined.0' Он не настроен должным образом для вызова.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню