【发布时间】:2021-11-16 01:56:16
【问题描述】:
我使用的是 Firestore Web 8 的链接模式,但我正在将其更新到模块 9,并且很难弄清楚如何获取我的子集合的所有内容(内部集合我的收藏)。
我的旧功能是这样的,并且工作正常:
function getInfo(doc_name) {
let infoDB = db
.collection("collection_name")
.doc(doc_name)
.collection("subcollection_name")
.get();
return alunoHistorico;
}
所以我用模块方式尝试了这段代码
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
const docRef = doc(db, "collection_name", "doc_name");
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
console.log("Document data:", docSnap.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
但是函数 doc() 需要一个偶数参数(不包括 db 参数),所以如果我尝试使用这样的 3 个参数,我会收到错误:
const docRef = doc(db, "collection_name", "doc_name", "subcollection_name");
要让它工作,我必须传递子集合中的确切文档
const docRef = doc(db, "collection_name", "doc_name", "subcollection_name", "sub_doc");
但这对我不起作用,因为我在子集合中有一个列表 os docs,我想检索它。 那么如何才能将我的所有文档放入我的子集合中呢?
感谢所有抽出时间的人。
【问题讨论】:
标签: javascript firebase google-cloud-firestore