云功能:检查文档是否存在总是返回存在

时间:2019-08-26 09:27:45

标签: firebase google-cloud-firestore google-cloud-functions

我正在使用此云函数(Typescript)检查文档是否存在。 问题:文档没有退出,而是返回了。...

非常感谢您的帮助和努力!

export const repeat2 = functions.https.onCall((data, context) => {

  console.log(data.message);
  console.log(data.count);

  const getDocument = admin.firestore().collection('key').doc(data.message).get();

        if(getDocument != null) {
          console.log('EXISTS');
        }

        else {console.log("doens't exist");}

    return {
        repeat_message: data.message,
    }
  });

2 个答案:

答案 0 :(得分:5)

get()返回Promise,而不是实际文档。另外,您需要在解析值上使用.exists;检查the docs here

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

答案 1 :(得分:1)

如果要检查文档中是否有这样的列:

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
    if ('ColumnNAME' in doc.data()) {
        //If exists Do somenthing
        console.log("Document data:", doc.data());
    } else {
        // doc.data() will be undefined in this case
        console.log("No such column in the document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});