3 回答

TA贡献1808条经验 获得超4个赞
如果您将 FirestoreRecyclerAdapter 与 Recyclerview 一起使用,请执行此操作。
DocumentSnapshot snapshot = options.getSnapshots().getSnapshot(position); String dbKey = snapshot.getId(); Log.d(TAG, "The database Key is : "+ dbKey);
然后你可以像这样将它绑定在视图持有者上
holder.setDocumentId(dbKey);
然后你可以在任何地方检索它,这取决于你的 getters 和 setters。我希望这会帮助那里的人。

TA贡献2051条经验 获得超10个赞
DocumentChange对象具有返回QueryDocumentSnapshot对象的方法getDocument()。这是DocumentSnapshot的子类,这意味着它还有一个getId()方法。因此,您应该能够使用来获取正在处理的文档的 ID。doc.getDocument().getId()

TA贡献1859条经验 获得超6个赞
以下是如何在 Javascript 中解决它,也许这将帮助您将其转换为 Java。使用以下方法,我们可以动态检索文档 ID。请注意,我们使用snapshotChanges(). 这很重要,因为一旦我们订阅了这个函数,订阅中就会包含文档 ID。
saveMyValuesHere: any[] = []
getPegawai() {
return this.db.collection('Pegawai').snapshotChanges();
}
getPegawai().subscribe(serverItems => {
this.saveMyValuesHere = [];
serverItems.forEach(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
this.saveMyValuesHere.push({ id, ...data});
});
});
添加回答
举报