有什么办法可以在Firestore中获取子集合的ID?我制作了一个可以手动输入子集合ID的应用程序,因此我想避免这种情况。
在图片中我添加了403p2bY .....是user.uid,我可以使用它来引用它。但是,对于钱包ID,我需要手动输入ID。有什么办法可以解决吗?谢谢!
答案 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文档。