'Firestore doesn't allow to upload dictionaries. ValueError: One or more components is not a string or is empty
guys. I need to upload a dict using Firestore. My keys work but I don't know why I can't upload this specific doc.
The item is a dict and has this format:
{
"1": {
"Fecha": "20220222",
"Visitante": "########",
"Visitado": "#######"}
}
The function:
def json_to_firestore(self,item):
fecha = (self.auth_data["fechaDesde"]).replace("-","")
x = db.collection("Congreso")
y= x.document(fecha)
y.set(item)
return True
Traceback (most recent call last):
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\Scraper\Congreso\scraper.py", line 119, in <module>
x.json_to_firestore(item)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\Scraper\Congreso\scraper.py", line 97, in json_to_firestore
y.set(item)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\document.py", line 166, in set
batch, kwargs = self._prep_set(document_data, merge, retry, timeout)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\base_document.py", line 211, in _prep_set
batch.set(self, document_data, merge=merge)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\base_batch.py", line 111, in set
write_pbs = _helpers.pbs_for_set_no_merge(
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\_helpers.py", line 705, in pbs_for_set_no_merge
extractor = DocumentExtractor(document_data)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\_helpers.py", line 505, in __init__
for field_path, value in iterator:
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\_helpers.py", line 447, in extract_fields
sub_key = FieldPath(key)
File "D:\CyberProyectos\ElTerrorDeLosPoliticos\v1\venv\lib\site-packages\google\cloud\firestore_v1\field_path.py", line 272, in __init__
raise ValueError(error)
ValueError: One or more components is not a string or is empty.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
