FIRESTORE - 如何获取文档中集合的值?
问题描述:
在我的Firestore数据库中,我有一个集合APP。FIRESTORE - 如何获取文档中集合的值?
它有一个文件doc1。
doc1还有一个子集合coll1。
考虑下面的例子。
let db = firebaseApp.firestore();
db.collection('APP').doc('doc1').get()
.then(doc => {
let doc1Data = doc.data();
});
我该如何检查响应中的集合。或者当我已经知道有一个子集合coll1,我该如何循环访问它的文档。
答
如果你不知道该集合ID,您就可以使用listCollectionIds
方法把他们都弄到:
var firestore = require('firestore.v1beta1');
var client = firestore.v1beta1({
// optional auth parameters.
});
var formattedParent = client.anyPathPath("[PROJECT]", "[DATABASE]", "[DOCUMENT]", "[ANY_PATH]");
client.listCollectionIds({parent: formattedParent}).then(function(responses){
var collectionIds = responses[0];
for (var i = 0; i < collectionIds.length; ++i) {
// doThingsWith(collectionIds[i])
}
})
.catch(function(err) {
console.error(err);
});
但是,这听起来像你已经知道它叫col1
,所以它更容易 - 只是引用它:
db.collection('APP').doc('doc1').collection('col1').get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
console.log('Error getting documents', err);
});
谢谢。听起来不错。但是有什么快照方法让我们知道它是否在循环时有子集合(第二代码片段)。只是为了保持简单。 –
没有像实时系统监控的信息那样独立的信息。 –
完美的男人!非常感谢! :) –