【发布时间】:2018-03-16 13:21:55
【问题描述】:
基本上我的数据结构如下...
根集合 = “企业”
-Docs of "Businesses" = various restaurant names For every business doc, there is a deals subcollection For every deals subcollection, there are documents of deals
我需要做的是遍历每个企业拥有的每笔交易并检查条件并在满足该条件时删除该交易,这与问题无关。我遇到的问题是在 NODE JS 中获取子集合引用的子集合和文档。以下是我目前所拥有的。
function delDeals()
{
businessesCopy.forEach(element)
{
var dealsRef = db.collection('businesses').doc(element);
dealsRef.getCollections().then(collections => {
collections.forEach(collection => {
var foodRef = db.collection('businesses').doc(element);
var query = citiesRef.where('capital', '==', true).get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
console.log('Error getting documents', err);
});
});
});
}
这里,businessCopy = 一个数组,其中包含对根业务集合中所有业务文档的引用。
Dealsref 基本上创建了对我使用forEach 循环访问的每个文档的引用。
在我执行dealsRef.get() 之后,我在每个循环中都在苦苦挣扎,它会获取我循环通过的每个业务文档的子集合。在那个 for 循环中,我想要做的是能够获取每个业务文档的所有子集合,然后能够遍历每个业务的每个交易子集合的每个文档(交易),如果满足,则删除该交易文档一定的条件。我不完全确定如何获取每个企业的交易子集合的交易文档的参考。
【问题讨论】:
标签: javascript node.js google-cloud-firestore