Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

686
Visualizações
¿Para qué sirve el tipo de datos 'Referencia' de Firebase Firestore?

Solo estoy explorando el nuevo Firebase Firestore y contiene un tipo de datos llamado reference . No me queda claro qué hace esto.

  • ¿Es como una clave externa?
  • ¿Se puede usar para señalar una colección que se encuentra en otro lugar?
  • Si la reference es una referencia real, ¿puedo usarla para consultas? Por ejemplo, ¿puedo tener una referencia que apunte directamente al usuario, en lugar de almacenar el ID de usuario en un campo de texto? ¿Y puedo usar esta referencia de usuario para consultar?
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Agregando a continuación lo que funcionó para mí usando referencias en Firestore.

Como dicen las otras respuestas, es como una clave externa. Sin embargo, el atributo de referencia no devuelve los datos del documento de referencia. Por ejemplo, tengo una lista de productos, con una referencia userRef como uno de los atributos del producto. Obteniendo la lista de productos, me da la referencia del usuario que creó ese producto. Pero no me da los detalles del usuario en esa referencia. He usado otro back-end como servicios con punteros antes que tienen un indicador "poblar: verdadero" que devuelve los detalles del usuario en lugar de solo la identificación de referencia del usuario, que sería genial tener aquí (con suerte una mejora futura ).

A continuación se muestra un código de ejemplo que utilicé para establecer la referencia, así como para obtener la lista de la colección de productos y luego obtener los detalles del usuario de la identificación de referencia del usuario proporcionada.

Establecer una referencia en una colección:

 let data = { name: 'productName', size: 'medium', userRef: db.doc('users/' + firebase.auth().currentUser.uid) }; db.collection('products').add(data);

Obtenga una colección (productos) y todas las referencias en cada documento (datos de usuario):

 db.collection('products').get() .then(res => { vm.mainListItems = []; res.forEach(doc => { let newItem = doc.data(); newItem.id = doc.id; if (newItem.userRef) { newItem.userRef.get() .then(res => { newItem.userData = res.data() vm.mainListItems.push(newItem); }) .catch(err => console.error(err)); } else { vm.mainListItems.push(newItem); } }); }) .catch(err => { console.error(err) });

Espero que esto ayude

over 4 years ago · Santiago Trujillo Relatório

0

Las referencias son muy parecidas a las claves foráneas.

Los SDK publicados actualmente no pueden almacenar referencias a otros proyectos. Dentro de un proyecto, las referencias pueden apuntar a cualquier otro documento en cualquier otra colección.

Puede usar referencias en consultas como cualquier otro valor: para filtrar, ordenar y paginar (startAt/startAfter).

A diferencia de las claves foráneas en una base de datos SQL, las referencias no son útiles para realizar uniones en una sola consulta. Puede usarlos para búsquedas dependientes (que parecen unirse), pero tenga cuidado porque cada salto resultará en otro viaje de ida y vuelta al servidor.

over 4 years ago · Santiago Trujillo Relatório

0

Para aquellos que buscan una solución de Javascript para consultar por referencia, el concepto es que necesita usar un objeto de 'referencia de documento' en la declaración de consulta

 teamDbRef = db.collection('teams').doc('CnbasS9cZQ2SfvGY2r3b'); /* CnbasS9cZQ2SfvGY2r3b being the collection ID */ // // db.collection("squad").where('team', '==', teamDbRef).get().then((querySnapshot) => { // }).catch(function(error) { // });

(Felicitaciones a la respuesta aquí: https://stackoverflow.com/a/53141199/1487867 )

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda