Firebase云函数-如何获取模型数据

doinxwow  于 2023-03-24  发布在  其他
关注(0)|答案(3)|浏览(153)

我正在使用firebase云函数创建API。该API将显示模型“配置文件”的所有数据。我的代码在下面,但它不起作用。(无法从firebase读取文档“配置文件”)

const functions = require('firebase-functions')

const admin = require('firebase-admin')
admin.initializeApp(functions.config().firebase)

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send('Hello from Firebase!')
})

exports.profiles = functions.https.onRequest((request, response) => {
  return admin.database().ref('/profiles').once('value')
    .then(function (snapshot) {
      const profiles = snapshot.val()
      response.status(200).send(profiles)
    })
})
gblwokeq

gblwokeq1#

你的云函数的代码应该工作(在我的环境中测试成功)。
你的错误可能是因为你初始化了:

admin.initializeApp(functions.config().firebase)

从1.0版开始,应使用如下新语法:

admin.initializeApp();

请参见https://firebase.google.com/docs/functions/beta-v1-diff#new_initialization_syntax_for_firebase_admin

kq0g1dla

kq0g1dla2#

变更

response.status(200).send(username)

response.status(200).send(profiles)
gk7wooem

gk7wooem3#

看起来你正在尝试发送整个快照值作为响应,其中可能包括不兼容JSON的行

const profiles = [];
snapshot.forEach(function(item) {
        const item = item.val();
        profiles.push(item);
    });
response.status(200).send(profiles);

通过这种方式,您可以返回一个对象数组,根据REST指南,它更符合JSON标准

相关问题