Firestore子集合ID

时间:2020-02-25 21:56:57

标签: firebase google-cloud-firestore

有什么办法可以在Firestore中获取子集合的ID?我制作了一个可以手动输入子集合ID的应用程序,因此我想避免这种情况。

在图片中我添加了403p2bY .....是user.uid,我可以使用它来引用它。但是,对于钱包ID,我需要手动输入ID。有什么办法可以解决吗?谢谢!

My code

2 个答案:

答案 0 :(得分:0)

子集合名称的工作方式与顶级集合名称相同:您必须知道该名称才能使用它。如果您不知道名称,则将无法查询其中的文档。移动客户端SDK也不提供任何列出子集合的方法,因此you would need backend code to do that for you

如果您不知道要查询的子集合的名称,那么子集合可能不是组织数据的最佳方法。

答案 1 :(得分:0)

您可以使用db.collection('users').doc(user.uid).collection('wallet').get()获取用户的所有钱包文档,然后可以遍历结果并打印doc.id以获取每个ID:

db.collection('users').doc(user.uid).collection('wallet').get().then(function(querySnapshot) {
  querySnapshot.forEach(function(doc) {
    console.log(doc.id, " => ", doc.data());
  });
});

另请参阅getting all documents in a collection上的Firebase文档。