【问题标题】:Firebase Cloud Function in Javascript. Remove() function not workingJavascript 中的 Firebase 云函数。删除()函数不起作用
【发布时间】:2018-06-25 06:32:34
【问题描述】:

我有一个 Firebase 云功能。除了 deedRef.limitToLast(1).remove(); 行之外,helloWorld 函数中的所有内容都按预期工作。我也尝试过 .ref(/deeds/${deedID}).remove() 是否有原因无法从云功能中的 firebase 中删除数据? http 请求的输出是“错误:无法处理请求”。

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

const deedRef = admin.database().ref('/deeds');
const oldDeedRef = admin.database().ref('/oldDeeds');
exports.helloWorld = functions.https.onRequest((req, res) => {

    deedRef.limitToLast(1).once("value", (snapshot) => {
                snapshot.forEach((deedSnapshot) =>{
                    let deedID = deedSnapshot.val().id;
                    let text = deedSnapshot.val().message;
                    oldDeedRef.push({
                        id: deedID,
                        message: text
                    })
                })
            })
    deedRef.limitToLast(1).remove();
    res.send("Congrats For running the function");
});

【问题讨论】:

  • 请编辑问题以显示函数控制台日志的相关输出。肯定会有一些东西表明存在问题。

标签: javascript firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

问题与 Cloud Functions 无关。

deedRef.limitToLast(1) 返回一个Query 类型的对象。 Query 没有名为 remove() 的方法。因此,您的代码将在运行时失败并显示一条消息。

如果你想从实时数据库中删除一些数据,你需要一个Reference 类型的对象,它有一个remove() 方法。这将删除引用位置的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-17
    • 2020-10-25
    • 2013-01-21
    • 2017-12-26
    • 2021-12-17
    • 2019-01-18
    • 2017-11-02
    • 1970-01-01
    相关资源
    最近更新 更多