要将普通 JSON 文件转换为数组对象的 JSON 文件并导入到 Cloud Firestore 数据库,你需要按照以下步骤操作:
在你的项目文件夹中运行以下命令,以安装 Firebase Admin SDK 和其他必要的依赖项:
npm install firebase-admin
在你的项目中创建一个名为 firebase.js
的文件,并添加以下代码以初始化 Firebase Admin SDK:
const admin = require('firebase-admin');
const serviceAccount = require('./path/to/your/service-account-file.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://your-project-id.firebaseio.com'
});
module.exports = admin;
确保将 path/to/your/service-account-file.json
替换为你的服务帐户文件的实际路径,并将 your-project-id
替换为你的 Firebase 项目 ID。
在你的项目中创建一个名为 importJson.js
的文件,并添加以下代码以读取 JSON 文件并将其转换为数组对象:
const fs = require('fs');
const admin = require('./firebase');
const jsonFilePath = './path/to/your/json-file.json';
fs.readFile(jsonFilePath, 'utf8', (err, data) => {
if (err) {
console.error('Error reading JSON file:', err);
return;
}
try {
const jsonData = JSON.parse(data);
const arrayOfObjects = Object.values(jsonData);
// 导入数组对象到 Firestore
importToFirestore(arrayOfObjects);
} catch (error) {
console.error('Error parsing JSON file:', error);
}
});
async function importToFirestore(arrayOfObjects) {
const firestore = admin.firestore();
for (const obj of arrayOfObjects) {
const docRef = firestore.collection('your-collection-name').doc(obj.id);
try {
await docRef.set(obj);
console.log(`Document ${obj.id} imported successfully.`);
} catch (error) {
console.error(`Error importing document ${obj.id}:`, error);
}
}
console.log('All documents imported successfully.');
}
确保将 path/to/your/json-file.json
替换为你的 JSON 文件的实际路径,并将 your-collection-name
替换为你想要导入数据的 Firestore 集合名称。
在命令行中运行以下命令以执行脚本:
node importJson.js
这将读取 JSON 文件,将其转换为数组对象,并将数据导入到 Firestore 数据库。
领取专属 10元无门槛券
手把手带您无忧上云