我一直在尝试将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})
在此文档中无法获得所需文档的完整列表,从而导致问题。
如果有人能帮我明白我做错了什么,那就太好了。 T.I.A。
文档ID实际上没有突出显示。 第一个ID和第二个ID的区别在于第二个ID是斜体。 这意味着不存在具有该ID的实际文档。 Firestore控制台之所以会为丢失的文档显示文档ID,是因为它有一个嵌套的子集合。 您可以单击丢失的文档,然后再次单击子集合。
在Firestore中,可以将子集合嵌套在不存在的文档下。 这样就可以了。 请注意,这些丢失的文档无法通过在控制台中看到它们的集合中的普通查询来发现。