首页 > 解决方案 > Firebase 实时数据库:后查询问题

问题描述

我使用 Postman 来测试以下代码。插入进展顺利,但服务器发回给我:错误:无法处理请求

exports.insertMesure = functions.https.onRequest((req, res) => {
    const identifiant = req.body.identifiant;
    const temperatureAir = req.body.temperatureAir;
    const humiditeSol = req.body.humiditeSol;
    const humiditeAir = req.body.humiditeAir;
    const niveauEau = req.body.niveauEau;
    const phSol = req.body.phSol;

    const mesure = {
        temperatureAir: temperatureAir,
        humiditeSol: humiditeSol,
        humiditeAir: humiditeAir,
        niveauEau: niveauEau,
        phSol: phSol
    };

    const dbRef = admin.database().ref('/users/' + identifiant + '/mesures');
    dbRef.push(mesure)
    .then(snapchot => {
        return snapchot;
    })
    .catch(err => {
        res.send('Error: ' + err);
    });
});

我用 Postman 发送以下数据:

{
    "identifiant": "talla",
    "temperatureAir": 45,
    "humiditeSol": 23,
    "humiditeAir": 106,
    "niveauEau": 55,
    "phSol": 6
}

请帮帮我

标签: javascriptfirebase-realtime-databasegoogle-cloud-functionsfirebase-admin

解决方案


您的服务器端脚本没有向调用者发送任何内容。您可能想要发回一个状态码以指示数据库写入已成功完成:

const dbRef = admin.database().ref('/users/' + identifiant + '/mesures');
dbRef.push(mesure)
  .then(snapshot => {
    res.status(200).send('ok');
  })
  .catch(err => {
    res.status(500).send(err);
  });

推荐阅读