FIRESTORE - 如何在文档中获取集合的值?

Edi*_*uza 3 database node.js firebase google-cloud-firestore

在我的Firestore数据库中,我有一个收集APP.

它有一个文档doc1.

doc1还有一个子集合coll1.

请考虑以下示例.

let db = firebaseApp.firestore();

db.collection('APP').doc('doc1').get()
  .then(doc => {
    let doc1Data = doc.data();
  });
Run Code Online (Sandbox Code Playgroud)

我怎样才能在响应中检查集合.或者当我已经知道有一个子集合coll1时,我该如何遍历其文档.

Dan*_*ath 6

如果你不知道集合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);
});
Run Code Online (Sandbox Code Playgroud)

但是,听起来你已经知道它被称为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);
    });
Run Code Online (Sandbox Code Playgroud)