Mi documento de Firestore tiene un campo con un valor ya establecido.
Ahora quiero eliminar el valor configurándolo en algo que signifique "vacío", como null
o undefined
.
Hasta ahora he intentado hacer esto con el método updateDoc
así:
updateDoc(documentReference,{ photoURL: undefined })
Pero arroja este error:
Función updateDoc() llamada con datos inválidos. Valor de campo no admitido: indefinido (se encuentra en el campo photoURL en el documento users/d23xxxxxxxxxxxxxxx12)
Y establecerlo en null
tampoco está permitido porque si trato de establecerlo en null
así:
updateDoc(documentReference,{ photoURL: null })
TypeScript arrojará este error:
El tipo 'null' no se puede asignar al tipo 'FieldValue | Parcial | indefinido'.
Descubrí que usar una cadena vacía como updateDoc(documentReference,{ photoURL: "" })
funciona pero no es tan elegante como null
o undefined
.
Usaré la cadena vacía si no se encuentran otras soluciones, pero tal vez haya otra forma.
Firestore no reconoce javascript undefined
como un valor válido. Puede ver los tipos válidos en la documentación . Null es un tipo válido, por lo que debería poder usarlo. Si no es así, debe presentar un error en el SDK que está utilizando. Si usa el SDK del cliente web, use este GitHub . Asegúrese de proporcionar los pasos completos para reproducir.
Si simplemente desea eliminar el campo por completo para que no tenga ningún tipo, simplemente elimine el campo y verifique el campo que falta en el código que realiza la consulta.