Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

76
Vistas
Push multiple objects at once

How can I do multiple object pushes at once with angularfire2?

Just pushing an array of objects doesn't set keys for each object.

this.af.database.list('/symbols/').push({
  typ: "symbol1",
  // ....
});
this.af.database.list('/symbols/').push({
  typ: "symbol2",
  // ....
});
8 months ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

With the regular Firebase JavaScript SDK, you can accomplish this with:

var updates = {};
updates['/symbols/'+ref.push().key] = {
  typ :"symbol1", ....
};
updates['/symbols/'+ref.push().key] = {
  typ :"symbol2", ....
};
ref.update(updates);

Since AngularFire2 is built on top of the normal Firebase JavaScript SDK, they interop perfectly. So you can just use the Firebase JavaScript SDK for this operation.

8 months ago · Santiago Trujillo Denunciar

0

Based on @Frank's answer, improvised it to have a reducer and a promise resolver> Here is the final version:

const admin = require('firebase-admin');
const types = [
  {
    type: "symbol1"
  },
  {
    type: "symbol2"
  }
];
const rootRef = admin.database().ref();
const ref = rootRef.child(`/symbols`);

// prepare updates object based on types array.
let updates = types.reduce((update, type) => {
  let id = ref.push().key;
  update[`/symbols/${id}`] = type;
  return update;
}, {});

await rootRef.update(updates)
.then((response) => {
  return res.status(201).json({message: "Records added successfully"});
})
.catch((error)=>{
  res.sendStatus(500);
})
8 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos