Hay alguna diferencia entre guardar data en firebase desde un componente hijo y hacerla desde un componente padre?

En mi código puedo caragar datos en firebase desde el componente padre, pero hago el mismo procedimiento desde un componente hijo y no funciona. Debo incluir ‘$ emit’ o algo así? No encuentro documentación al respecto y no encuentro el por qué no funciona.

¿como guardar un array en en mongoDB?

buenas a todos tengo un problema con mongoDB:

necesito guardar un array como objeto es algo complicado de explicar resumidamente así que adjunto un vídeo explicando a detalle y el código gracias de antemano.

El form:

<div class="row"> <form action="/platos/make" method="POST" enctype="multipart/form-data" style="display: contents; margin-top: 0;">     <div class="card-body col-md-4 ml-auto" style="position: initial;">             <center>             <h2 style="font-family: Insaniburger with Cheese;     padding-top: 25px;">Descripción del plato</h2>         </center>         <br>         <div class="form-group">             <center>Ingresa el nombre del plato</center>             <br>             <input type="text" class="form-control" name="nombre" placeholder="Nombre del plato" value="{{nombre}}"                 style="text-align: center" required>         </div>         <div class="form-group">             <center>Ingresa una descripción del plato</center>             <br>             <input type="text" class="form-control" name="descripcion" placeholder="Descripción"                 value="{{descripcion}}" style="text-align: center" required>         </div>         <div class="form-group">             <center>Ingresa las proteínas</center>             <br>             <center>                 <div class="proteinas">                     <div>                         <input type="text" name="proteinas" placeholder="Proteínas"                             class="form-control col-ms-4 mx-auto" style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-p" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>          <div class="form-group">             <center>Ingresa las granos</center>             <br>             <center>                 <div class="granos">                     <div>                         <input type="text" name="granos" placeholder="Granos" class="form-control col-ms-4 mx-auto"                             style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-g" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>          <div class="form-group">             <center>Ingresa mas ingredientes</center>             <br>             <center>                 <div class="otros">                     <div>                         <input type="text" name="otros" placeholder="Ingredientes"                             class="form-control col-ms-4 mx-auto" style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-o" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>           <div class="form-group">             <center>Selecciona el día del plato</center>             <br>             <select name="dia" class="form-control" style="text-align-last:center;">                 <option selected></option>                 <option>Lunes</option>                 <option>Martes</option>                 <option>Miércoles</option>                 <option>Jueves</option>                 <option>Viernes</option>             </select required>         </div>         <div class="form-group">             <center>Ingresa el precio</center>             <br>             <input type="number" class="form-control" name="precio" placeholder="Precio" value="{{precio}}"                 style="text-align: center" required>             <center>recuerda ingresar el precio sin puntos:</center>             <center>ejemplo: 12000</center>         </div>     </div>     <div class="card-body col-md-4 mx-auto" style="position: initial;">           <center>             <h2 style="font-family: Insaniburger with Cheese;     padding-top: 25px;">Adicionales del plato y bebidas</h2>         </center>          <br>          <div class="form-group">             <center>Ingresa los adicionales del plato</center>             <br>             <center>                 <div class="adicionales">                     <div>                         <input type="text" name="adicionales" placeholder="Adicionales"                             class="form-control col-ms-4 mx-auto" style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-a" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>           <div class="form-group">             <center>Ingresa que se puede retirar del plato</center>             <br>             <center>                 <div class="retirar">                     <div>                         <input type="text" name="retirar" placeholder="Adicionales removibles"                             class="form-control col-ms-4 mx-auto" style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-r" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>          <div class="form-group">             <center>Ingresa las bebidas y sus variantes</center>             <br>             <center>                 <div class="bebidas">                     <div>                         <input type="text" name="bebidas" placeholder="Bebidas"                             class="form-control col-ms-4 mx-auto" style="   width: 87%;     text-align: center; margin-bottom:3px; display: -webkit-inline-box;" value="" />                         <a href="javascript:void(0);" class="add_button-b" title="Add field"><img                                 src="/img/icons/mas.png" style="    width: 34px; margin-bottom: 4px;" /></a>                     </div>                 </div>             </center>         </div>       </div>      <div class="card-body col-md-4 mr-auto" style="position: initial;">          <center>             <h2 style="font-family: Insaniburger with Cheese;     padding-top: 43px;padding-bottom: 20px;">Añadir foto</h2>         </center>         <br>          <div class="form-group">             <center>Sube la foto del plato del plato</center>             <br>             <div class="custom-file">                 <input type="file" class="custom-file-input" id="customFileLang" name="image" lang="es">                 <label class="custom-file-label" for="customFileLang">Seleccionar Archivo</label>             </div>         </div>          <div class="form-group" style="padding-top: 10px">             <button type="submit" class="btn btn-warning btn-block">                 Registrar plato             </button>         </div>       </div>  </form> 

El back:

router.post("/platos/make", isAuthenticated, isAuthenticatedroles(["admin"]),imgprofiles,async (req, res) => { // role check menu data = req.user.role; var role = false; if (data == "admin") {   role = true; }  const {   nombre,   descripcion,   proteinas,   granos,   otros,   precio,   dia,   adicionales,   retirar,   bebidas } = req.body;  console.log("body inicial", req.body);  const errors = [];    if (nombre.length <= 0) {   errors.push({ text: "Por favor ingresa el nombre del plato" }); } if (adicionales.length <= 0) {   errors.push({ text: "Por favor ingresa al menos un adicional" }); }  if (retirar.length <= 0) {   errors.push({     text: "Por favor ingresa al menos un adicional removible"   }); } if (bebidas.length <= 0) {   errors.push({ text: "Por favor ingresa al menos una bebida" }); }  if (descripcion.length <= 0) {   errors.push({ text: "Por favor ingresa la descripción del plato" }); } if (proteinas.length <= 0) {   errors.push({ text: "Por favor ingresa al menos una proteína" }); } if (granos.length <= 0) {   errors.push({ text: "Por favor ingresa al menos un grano" }); }  if (precio.length <= 0) {   errors.push({ text: "Por favor ingresa el precio del plato" }); } if (precio <= 4000) {   errors.push({ text: "Por favor verifica el precio del plato" }); } if (dia.length <= 0) {   errors.push({ text: "Por favor ingresa el día del plato" }); }  if (errors.length > 0) {   res.render("platos/make", {     layout: "index/formatlog.hbs",     role,     adicionales,     retirar,     bebidas,     errors,     nombre,     descripcion,     proteinas,     granos,     otros,     precio,     dia   }); } else {   const nombreplato = await Platos.findOne({ nombre: nombre });    if (nombreplato) {     req.flash("error_msg", "ya existe un plato con el mismo nombre");     return res.redirect("/platos/make");   }     precioprueba = "1000";    console.log(req.body);    var moni = ["1000", "2000"];    var proteinas_arr = new Array();   proteinas.map((obj, index) => {     proteinas_arr.push({       nombre: obj,       precio: moni[index]     });   });   //y finalmente objenemos el json    var myJsonString = JSON.stringify(proteinas_arr);   console.log(proteinas_arr[1]);    console.log(myJsonString);     const newPlatos = new Platos({ nombre, descripcion, precio, diaplato });    const nextPlatos = new Platos({     ingredientes: [       {         proteinas: proteinas_arr,         granos: "granos",         otros: "otros"       }     ]   });    await newPlatos, nextPlatos.save();    res.redirect("/platos/make"); } }); 

El Schema:

const mongoose = require("mongoose"); const { Schema } = mongoose;  const IngredientesSchema = new Schema({ proteinas: [{ type: String, require: true }], granos: { type: String, require: true }, otros: { type: String, require: true } });  const AdicionalSchema = new Schema({ adicionales: { type: String, require: true }, adicionales_precio: { type: String, require: true } });  const RetirarSchema = new Schema({ retirar: { type: String, require: true } });  const BebidasSchema = new Schema({ bebidas: { type: String, require: true }, bebidas_precio: { type: String, require: true } });  const ImageSchema = new Schema({ imgurl: { type: String, require: true }, public_id: { type: String, require: true } });  const PlatosSchema = new Schema( { popularidad: { type: Number, require: true, default: 0 }, nombre: { type: String, require: true, unique: true }, descripcion: { type: String, require: true },  ingredientes: [[IngredientesSchema]],  adicional: [AdicionalSchema],  retirar_adicional: [RetirarSchema],  bebidas_var: [BebidasSchema],  precio: { type: String, require: true }, diaplato: { type: String, require: true }, image: [ImageSchema] }, {  timestamps: true } );  module.exports = mongoose.model("Platos", PlatosSchema); 

básicamente necesito algo como esto es un schema que cumple con lo que necesito:

https://i.ibb.co/3fyT8Zx/917a3011-c312-411a-9bd9-eb70cc6a471a.jpg


si no quedo lo suficientemente claro adjunto un vídeo explicando mas a detalle: https://sendvid.com/6pgo73f2

el vídeo lo hice antes de hacer algunos cambios como se ve en el código arriba

agradezco cualquier ayuda 🙂

Cómo guardar permutaciones como string separados por líneas en archivo de texto plano con python

tengo este código python para generar permutaciones y guardarlas en arhivo de texto:

archivo=open('permutaciones.txt', 'w') import itertools   permutaciones = itertools.permutations('darcehe', 6)  archivo.write("%s\n"%'\n'.join(map(str, permutaciones))) archivo.close() 

Pero obtengo:

(‘e’, ‘h’, ‘e’, ‘a’, ‘c’, ‘r’)

(‘e’, ‘h’, ‘e’, ‘r’, ‘d’, ‘a’)

(‘e’, ‘h’, ‘e’, ‘r’, ‘d’, ‘c’)

Y necesito obtener:

eheacr

eherda

eherdc

una permutación en cada línea

como guardar de un array solo ciertos valores

Hola queria pedirle ayuda ya que soy nuevo en php,como puedo hacer para guardar de este array en variables solo las fechas (no siempre las fechas se encuentran como en este caso en ‘es:’ o en ‘es5:’ pueden encontrase en cualquier)

Array ( [0] => es: 2014-09-30, es1:, es2:, es3:, es4:, es5:2019-09-23 ,es6:,es7: ) 

tendría que quedar algo así como: variable1= 2014-09-30 variable2= 2019-09-23

Desde ya muchas gracias

inputs rederizados por un map, como guardar los datos de cada uno de los inputs en un state diferente?

estoy haciendo una practica en react soy principiante y tengo esta incógnita, en esta practica tengo unos inputs que se renderizan de manera dinamica por un map, como haría para que cada dato de cada uno de los inputs renderizados se guarde en un state diferente. este es mi código hasta los momentos, gracias de antemano.

export class RenderizadoPrueba extends Component{    constructor(props){     super(props);     this.state ={       values: '',       nroRenderElemento: 3,       inputs: []     }     this.handleChange = this.handleChange.bind(this);     this.handleSubmit = this.handleSubmit.bind(this);   }    handleChange(e){     this.setState({         value: e.target.value     });   }    handleSubmit(e){     console.log('Este es el nombre introducido:', this.state.value);     e.preventDefault();   }    componentDidMount(){     this.setState({       inputs: [... Array(this.state.nroRenderElemento)].map((input, i) =>         <label key={input}>           Introduzca su Nombre:           <input type="text" name={i} onChange={this.handleChange}/>         </label>       )     })   }    render(){     return(       <div>          <form onSubmit={this.handleSubmit}>           {this.state.inputs}           <input type="submit" value="Submit"/>         </form>       </div>     )   } }

Como guardar un boton en una variable

Estoy realizando una extension para chrome con Javascript. Soy muy nuevo con programacion. Estoy con un problema. La extension funciona con una tabla de elementos. Tengo todos los elemenos de la tabla guardados en mi variable

var Operacion = document.getElementsByClassName('card card--p2p card__body'); 

Es decir en Operacion[0] tengo los datos del primer elemento, con Operacion1 tengo los datos del segundo elemento, etc.

Dentro del elemento hay un boton al cual quiero llegar pero no se como hacerlo.

Dejo un ejemplo en la foto de lo que me refiero, se ve en la foto el elemento Operacion[10] y a lo que quiero llegar es clickear el boton “class=”btn btn–success btn–contained btn–block”” que se encuentra a dentro de ese elemento.

Podrian ayudarme con que codigo usar para poder acceder al boton de ese elemento y poder guardarlo en alguna variable?

introducir la descripción de la imagen aquí

Cómo puedo obtener datos de una columna con varias filas de datagridview y guardar en SQL server

Tengo un problema, quisiera guardar la columna de varias filas de un dgv en la base de datos sql… Ejemplo En la dgv
|ID | | Detalle |.
1 Polo.
2 Camisa.
3 Bermuda

Quisiera guardarlo en mi tabla de SQL de esta manera |ID | |Detalle|.
1 polo, camisa , bermuda

Espero haberme explicado

Lo estoy realizando en c#