我只为一个API项目使用了firebase,在最初的设置中,我需要用一些用户和基本数据为防火墙数据库添加种子。
我们怎么处理这个?
其中一个想法是创建端点/setup?someKey=someValue并传递数据。是否有更好的方法用初始值播种数据库?
另外,我还需要在Firebase Auth内部创建一个超级用户?
发布于 2022-06-01 19:53:20
一个简单的方法是从您自己的机器上使用Admin。
创建一个JS文件,该文件以
#!/usr/bin/node
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.cert("xxxx.json")
});其中xxxx.json是Firebase服务帐户的私钥文件。您可以从Firebase控制台获得此文件,如文档中所描述的这里。通常将其存储在与functions文件相同的级别的index.js文件夹中。如果您想将其存储在functions文件夹中的其他地方(例如,在子文件夹中),则需要调整上面代码中的路径。
然后,在文件的其余部分中,您可以像在云函数中一样与Firestore实例进行交互,例如:
admin.firestore().collection('...').add({...});根据数据的格式化方式,您必须编写代码以在Firestore中创建文档。
例如,让我们假设您的数据是JS对象的数组。你可以这样做:
const myArrayOfObjects = [{color: 'blue', quantity: 34}, {color: 'green', quantity: 98}];
const p = [];
myArrayOfObjects.forEach(obj => {
p.push(admin.firestore().collection('...').add(obj)
})
Promise.all(p);然后通过在终端窗口中执行node thefilename.js来执行这个js文件。
https://stackoverflow.com/questions/72466880
复制相似问题