我有一个名为用户的集合,其中包括他们的姓名和其他个人详细信息,并且还有一个由他们的车辆组成的子集合。
但是对于某些操作,我只想查询用户数据。恐怕它还会包含子集合,这会增加我的数据使用量。
数据库结构如下所示:
db.collection("users").limit(10)
.get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.data());
$scope.userList.push(doc.data());
});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
我正在获取数据,但是我不确定这是否是正确的查询方式。
答案 0 :(得分:2)
与在Firebase实时数据库中显示用户列表的用户不同,您将已经下载了整个User
对象以及该对象内存在的所有子对象,在Cloud Firestore中,这不再是问题。因此,如果您在文档中包含子集合,则不会下载它们。
Firestore中的查询很浅:它们仅从运行查询的集合中获取项目。无法通过单个查询从顶级集合以及其他集合或子集合中获取文档。因此,不必担心这些子集合。
答案 1 :(得分:1)
FireStore查询很浅,这意味着它们仅返回您正在查询的级别的文档,而不会返回其子集合。
如果还要获取子集合,则需要对此进行单独的查询。