使用get()。where()VS子集合从集合中检索数据

时间:2019-07-26 13:35:55

标签: javascript firebase google-cloud-firestore

好的,我会尽量准确地解释我的疑问,请耐心等待。 我正在创建一个名为部门的集合,每个部门都属于一所学校。我知道我可以做类似的事情:

-Departments
  - [ID]:{
          schoolID: [schoolID]
          .....
         }

然后按以下方式获取数据:

db.collection("Departments").where("schoolID", "==", someID)

但是,实际上,我正在尝试创建一个不同的结构,其中各部门已经是学校的子集,例如:

-Departments
  - [SchoolID]:{
        [departmentID]: {
         .....
        }
    }

这样,我将使用以下方式获取所有数据:

db.collection("Departments").doc(schoolID).get()

现在,我有2个疑问:

  1. 如何实现第二种结构(可能使用Firestore自动生成的ID)?到现在为止,它基本上会向我的doc对象添加属性,我不认为这是要走的路。同时,我阅读了子集合还不是防弹解决方案

  2. 关于性能和要下载的数据,我可以保留结构nr。 1,使用get()。where()并获得与我的(假设)解决方案2基本相同的结果?

0 个答案:

没有答案