Quiero consultar una base de datos de firestore para la identificación del documento. Actualmente tengo el siguiente código:
db.collection('books').where('id', '==', 'fK3ddutEpD2qQqRMXNW5').get()no obtengo resultado Pero cuando busco un campo diferente, funciona:
db.collection('books').where('genre', '==', 'biography').get()¿Cómo se llama el nombre de la identificación del documento?
Llego un poco tarde, pero en realidad hay una manera de hacer esto.
db.collection('books').where(firebase.firestore.FieldPath.documentId(), '==', 'fK3ddutEpD2qQqRMXNW5').get()Esto puede ser útil cuando se trata de reglas de seguridad de Firebase y solo desea consultar los registros a los que puede acceder.
Prueba esto:
db.collection('books').doc('fK3ddutEpD2qQqRMXNW5').get()(La primera consulta busca un campo definido por el usuario explícito llamado 'id', que probablemente no sea lo que desea).
Puede usar la palabra clave __name__ para usar su ID de documento en una consulta.
En lugar de este db.collection('books').doc('fK3ddutEpD2qQqRMXNW5').get() puede escribir
db.collection('books').where('__name__', '==' ,'fK3ddutEpD2qQqRMXNW5').get() .
En este caso, debería recuperar una matriz de longitud 1 .
Los documentos de Firebase mencionan esta característica en la documentación de las reglas. https://firebase.google.com/docs/reference/rules/rules.firestore.Resource