google-cloud-firestore – 如何在Firestore中跨集合查询数据?

它在下面的文档中写道:“如果需要跨集合查询数据,请使用根级集合.”

https://cloud.google.com/firestore/docs/data-model

如果有人知道在Firestore中跨根级别集合查询数据的示例,请分享相同的内容.

最佳答案 我不确定你的具体情况.以下是如何获取与文章相关的评论(来自’commentsCollection’集合).

假设文章文件设置如下:

firestore:articlesCollection / 1234

{
    title: "How to FireStore",
}

评论文件的设置如下:

firestore:commentsCollection / ABCD

{
    comment: "Great article!",
    articleRef: {
        "1234": true
    }
}

firestore:commentsCollection / EFGH

{
    comment: "Another comment on a different article",
    articleRef: {
        "5678": true
    }
}

鉴于文章文件ID …

let articleComments = db.collection("commentCollection")
    .where('articleRef.' + articleId, '==', true)
    .get()
    .then(() => {
        // ...
    });

如果给定的文章ID是1234,那么评论ABCD就是结果.如果给定的文章ID是5678,那么注释EFGH就是结果.

包括文章doc查询,它看起来像这样:

db.collection("articlesCollection")
    .doc(articleId)
    .get()
    .then(article => {
        firebase.firestore().collection("commentsCollection")
            .where('articleRef.' + article.id, '==', true)
            .get()
            .then(results => {
                results.forEach(function (comment) {
                    console.log(comment.id, " => ", comment.data());
                });
            });
    });

从firestore文档修改:
https://cloud.google.com/firestore/docs/solutions/arrays

    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞