Is it possible to save JSON data directly to Firebase Firestore?
I tried saving my below json data,
[{"id":"1234","name":"Chair","symbol":"CHR"}]
request({url: 'https://api.example.com/v1/data', json: true}, function (error, response, body) {
if (!error && response.statusCode === 200) {
res.send(body);
console.log(body);
}
else {
console.log(response.statusCode + " " + error);
}
db.collection('market').doc('price').set(body);
});
Error: Argument "data" is not a valid Document. Input is not a plain JavaScript object.
JSON.parse() for the body
db.collection('market').doc('price').set(JSON.parse(body));
JSON.stringify() for the body
db.collection('market')doc('price').set(JSON.stringify(body));
I am still getting error.
Your JSON data is an array. Notice that it's surrounded with square brackets:
[{"id":"1234","name":"Chair","symbol":"CHR"}]
You can't use an array as the contents of a document in Firestore. Perhaps you just want to add the first element of the array, which is an object:
db.collection('market').doc('price').set(body[0]);
Of course, before indexing into an array, you should verify that the element exists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With