为了编写适当的promise函数来使用Axios查询外部API并将JSON响应保存在多个Firestore文档中,可以按照以下步骤进行操作:
const axios = require('axios');
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: 'https://your-project-id.firebaseio.com'
});
async function fetchDataAndSaveToFirestore() {
try {
// 使用Axios查询外部API
const response = await axios.get('https://api.example.com/data');
// 将响应保存到Firestore文档
const firestore = admin.firestore();
const collectionRef = firestore.collection('your-collection');
// 假设响应是一个包含多个数据对象的数组
response.data.forEach(async (data) => {
// 创建一个新的文档并设置数据
await collectionRef.doc().set(data);
});
console.log('数据保存成功!');
} catch (error) {
console.error('数据保存失败:', error);
}
}
fetchDataAndSaveToFirestore();
这个函数使用了Axios来查询外部API,并使用Firebase Admin SDK将响应保存到Firestore文档中。在保存响应时,假设响应是一个包含多个数据对象的数组,我们使用forEach
循环来遍历每个数据对象,并使用doc().set()
方法将数据保存到Firestore文档中。
请注意,这只是一个简单的示例,实际情况中可能需要根据具体需求进行适当的修改和优化。
推荐的腾讯云相关产品:腾讯云云函数(Serverless Cloud Function),腾讯云云数据库(TencentDB for MySQL),腾讯云云开发(Tencent Cloud Base),腾讯云云存储(Tencent Cloud Object Storage)。
希望这个答案能够满足你的需求。如果有任何疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云