【问题标题】:Firestore: "add is not a function"Firestore:“添加不是函数”
【发布时间】:2018-06-04 05:09:52
【问题描述】:

我尝试在 Cloud 功能中使用 Firestore,但遇到了错误

db.collection(...).doc(...).collection(...).doc(...).add 不是 Promise 的函数

我阅读了这些主题firstsecond 和其他。但是id没有帮助我。 package.json 看起来

"firebase": "^4.3.1",
"firebase-admin": "^5.5.1",
"firebase-functions": "^0.7.5",

云功能之一

const admin = require('firebase-admin');
var db = admin.firestore();

此代码来自函数

const currentUserMatchProm = db.collection('userMatches').doc(currentUserID).collection('test').doc(matchID).add({
            'matchID': matchID,
            'matchedUserID': eventUserID,
            'timestamp': timestamp,
            'isActive': false
        });

        const eventUserMatchProm = db.collection('userMatches').doc(eventUserID).collection('test').doc(matchID).add({
            'matchID': matchID,
            'matchedUserID': currentUserID,
            'timestamp': timestamp,
            'isActive': false
        });

我该如何解决?

【问题讨论】:

    标签: node.js firebase google-cloud-firestore firebase-admin


    【解决方案1】:

    doc 是文档,add 函数仅用于收集。要将数据写入文档,请使用set 函数:

    doc(matchID).set({ ... })
    

    【讨论】:

    • Documentation says "在幕后,.add(...) 和 .doc().set(...) 是完全等价的,所以你可以使用更方便的那个。"但我确实看到了你不能在哪里做.doc().add()
    猜你喜欢
    • 2019-09-04
    • 1970-01-01
    • 2018-03-25
    • 2018-03-25
    • 2021-11-17
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多