Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript Firebase函数-将数据保存到数据库后,如何以JSON的形式返回对象作为响应?_Typescript_Firebase_Firebase Realtime Database_Google Cloud Functions - Fatal编程技术网

Typescript Firebase函数-将数据保存到数据库后,如何以JSON的形式返回对象作为响应?

Typescript Firebase函数-将数据保存到数据库后,如何以JSON的形式返回对象作为响应?,typescript,firebase,firebase-realtime-database,google-cloud-functions,Typescript,Firebase,Firebase Realtime Database,Google Cloud Functions,我正在使用firebase函数将数据写入数据库。 我使用的函数由HTTP调用触发(仅POST)。 我能够将数据保存到数据库中,但是无法以正确的格式返回数据。 我得到以下错误 TypeError:snapshot.val不是函数 export const saveOrder=functions.https.onRequest(((请求,响应)=>{ if(request.method==“POST”){ const data=JSON.stringify(request.body); 让jsonD

我正在使用firebase函数将数据写入数据库。 我使用的函数由HTTP调用触发(仅POST)。 我能够将数据保存到数据库中,但是无法以正确的格式返回数据。 我得到以下错误

TypeError:snapshot.val不是函数

export const saveOrder=functions.https.onRequest(((请求,响应)=>{
if(request.method==“POST”){
const data=JSON.stringify(request.body);
让jsonData=data.replace(/\r?\n\t?/g');
let object={order:JSON.parse(jsonData),状态:“pending”};
返回admin.database()
.ref(“订单”)
.推(对象)
.then(功能(快照){
返回response.send(200,snapshot.val());
});
}否则{
contentType(“application/json”);
status(400).send(“{”消息“:“无效方法”}”);
返回;
}
}));
方法
.push()
不会返回
快照
数据,而是返回
引用

您可以获取新引用的密钥:

    .then((reference) => { return response.send(200, reference.key) });
要以正确的格式返回数据,可以返回要传递给Firebase的对象:

return admin.database() ref("orders").push(object)
        .then(function(reference) {
            return response.send(200, {
                  key: reference.key,
                  data: object,
            });
        });