如何将 JSON 数据保存到 Google Firebase 的 Firestore 数据库?
How to save JSON data to Google Firebase's Firestore database?
是否可以将 JSON 数据直接保存到 Firebase Firestore?
我尝试保存以下 json 数据,
数据
[{"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() 正文
db.collection('market').doc('price').set(JSON.parse(body));
JSON.stringify() 正文
db.collection('market')doc('price').set(JSON.stringify(body));
我仍然遇到错误。
您的 JSON 数据是一个数组。请注意它被方括号括起来:
[{"id":"1234","name":"Chair","symbol":"CHR"}]
您不能将数组用作 Firestore 中文档的内容。也许你只想添加数组的第一个元素,它是一个对象:
db.collection('market').doc('price').set(body[0]);
当然,在对数组进行索引之前,您应该验证该元素是否存在。
是否可以将 JSON 数据直接保存到 Firebase Firestore?
我尝试保存以下 json 数据,
数据
[{"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() 正文
db.collection('market').doc('price').set(JSON.parse(body));
JSON.stringify() 正文
db.collection('market')doc('price').set(JSON.stringify(body));
我仍然遇到错误。
您的 JSON 数据是一个数组。请注意它被方括号括起来:
[{"id":"1234","name":"Chair","symbol":"CHR"}]
您不能将数组用作 Firestore 中文档的内容。也许你只想添加数组的第一个元素,它是一个对象:
db.collection('market').doc('price').set(body[0]);
当然,在对数组进行索引之前,您应该验证该元素是否存在。