Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firestore: "add is not a function"

I try to use Firestore in Cloud functions but I faced with error

db.collection(...).doc(...).collection(...).doc(...).add is not a function at Promise

I read these topics first, second and other. But id didn't help me. The package.json looks

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

One of cloud functions

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

This code from function

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
        });

How can I fix it?

like image 502
Alexander Khitev Avatar asked Dec 21 '17 13:12

Alexander Khitev


1 Answers

doc is document, add function is only for collection. To write data to a document, use the set function:

doc(matchID).set({ ... })
like image 183
Jaeseon Shin Avatar answered Oct 20 '22 07:10

Jaeseon Shin