首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在部署后为防火墙数据库添加种子?

如何在部署后为防火墙数据库添加种子?
EN

Stack Overflow用户
提问于 2022-06-01 19:02:42
回答 1查看 252关注 0票数 0

我只为一个API项目使用了firebase,在最初的设置中,我需要用一些用户和基本数据为防火墙数据库添加种子。

我们怎么处理这个?

其中一个想法是创建端点/setup?someKey=someValue并传递数据。是否有更好的方法用初始值播种数据库?

另外,我还需要在Firebase Auth内部创建一个超级用户?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 19:53:20

一个简单的方法是从您自己的机器上使用Admin。

创建一个JS文件,该文件以

代码语言:javascript
复制
#!/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实例进行交互,例如:

代码语言:javascript
复制
admin.firestore().collection('...').add({...});

根据数据的格式化方式,您必须编写代码以在Firestore中创建文档。

例如,让我们假设您的数据是JS对象的数组。你可以这样做:

代码语言:javascript
复制
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文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72466880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档