Javascript Firestore—获取子集合的父文档Id时的成本
当我获取子集合的父文档ID时,是否会收取读取费用Javascript Firestore—获取子集合的父文档Id时的成本,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,当我获取子集合的父文档ID时,是否会收取读取费用 export const GetAllMySubCollectionWithFieldHello = async () => { const query = await firebase.firestore().collectionGroup("MySubCollection").where("MyField", "==", "Hello").get();
export const GetAllMySubCollectionWithFieldHello = async () => {
const query = await firebase.firestore().collectionGroup("MySubCollection").where("MyField", "==", "Hello").get();
query.forEach(doc => {
console.log(doc.id, ' => ', doc.data()); // Cost me one read for each document found
console.log(doc.ref.parent.parent.id); // This line will it cost me one read again ?
});
};
我的理解是,您的
.get
将导致每个文档读取一次。我认为doc.data()
方法不会产生任何成本
doc.ref.parent.parent.id
不应产生任何成本。你没有阅读Firestore的任何内容。您甚至可以在脱机时运行此命令。这的确是正确的。由于可以通过路径确定父ID,因此获取该ID不收取任何费用。但是,如果OP读取父文档本身,那将是另一个收费的文档读取(如果必须在服务器上读取该文档)…@Jason Berryman“您没有从Firestore读取任何内容”=>不正确。我阅读了很多文档,并观看了Firebase频道的视频。这是不是很清楚,我不可能找到这个信息时,我通常会找到所有的信息。无论如何,谢谢大家的回复。doc.ref.parent.parent.id
只会返回一个id,不会产生任何费用。但是,如果您使用doc.ref.parent.parent.get()
它将产生读取文档的成本,因为它将从Cloud Firestore读取文档。不,此数据将作为对象路径的一部分下载。获取身份证不会花费你任何东西