无法从Django的Firebase中检索数据

时间:2020-07-18 14:31:21

标签: python django firebase google-cloud-firestore

我一直试图将Firebase中的数据获取到我的Django应用程序中,我面临的问题是,某些文档已被检索,而某些文档没有被检索。我注意到的一件很奇怪的事情是,在管理页面上,可以访问的文档以比我们无法从数据库中获取的文档更深的阴影突出显示。

突出显示的问题如上图所示。第一个文档突出显示,但第二个未突出显示,并且第一个文档由下面的django函数读取

def home(request, user=""):
db = firestore.client()

docs = db.collection(u'FIR_NCR').stream()
for doc in docs:
    print(doc.id,end="->")
    s = db.collection(u'FIR_NCR').document(u'{}'.format(doc.id)).collection(u'all_data').get()
    print(s[0].id,end="->")
    print(s[0].to_dict())
return render(request, "home.html", {"user":user})

在此 docs 中无法获取所需文档的完整列表,因此也无法获取问题。

如果有人能帮助我了解我在做什么错,那将是很棒的。 T.I.A。

1 个答案:

答案 0 :(得分:2)

文档ID实际上并未突出显示。第一个ID和第二个ID的区别在于,第二个ID用斜体字表示。这意味着没有具有该ID的实际文档。 Firestore控制台完全为您显示丢失的文档的文档ID的原因是因为它具有嵌套的子集合。您可以单击该丢失的文档,然后再次单击该子集合。

在Firestore中,可以将子集合嵌套在不存在的文档下。还行吧。请注意,这些丢失的文档无法通过在控制台中看到它们的集合中的普通查询发现。