使用where子句firestore搜索时获取文档ID

时间:2019-07-03 07:03:24

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

我希望能够获取我刚刚在firestore中使用where子句查询过的文档的文档ID。这是我目前的示例:

db.collection("Users").where('fullname', '==', 'foo bar').limit(5).get()
     .then(function (doc)
    {
        querySnapshot.forEach(function (doc)
        {
          //find document id
        }
    }

由此,我希望能够获取刚刚查询的文档ID。我有什么办法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

您要查找的内容的示例解决方案可以在Firestore文档中找到:

class rectangle {
public :
    int getHeight() const {return itsHeight;}  //accessors
    int getWidth() const {return itsWidth;}
    void setHeight(int height){itsHeight = height;}
    void setWidth(int width){itsWidth = width;}
    int getArea();
    int getPerimeter();
private :
    int itsHeight;
    int itsWidth;
};

int rectangle::getArea(){
    return itsWidth*itsHeight;
};

int rectangle::getPerimeter(){
    return 2*(itsWidth*itsHeight);
};

您只需调用db.collection("cities").where("capital", "==", true) .get() .then(function(querySnapshot) { querySnapshot.forEach(function(doc) { // doc.data() is never undefined for query doc snapshots console.log(doc.id, " => ", doc.data()); }); }) .catch(function(error) { console.log("Error getting documents: ", error); }); 即可获取文档的ID。

来源:https://cloud.google.com/firestore/docs/query-data/get-data