如何使用引用路径查询文档?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用引用路径查询文档?相关的知识,希望对你有一定的参考价值。

我正在查询我的Songs系列中的一些歌曲,因此我可以将歌曲数据发送到http请求中的第三方。在发送歌曲之前,我需要歌曲的艺术家的名字。我有一个单独的艺术家集合,其中每个艺术家文档都有一个“名称”字段。我需要发送艺术家名称和我的歌曲的其余数据。

我似乎无法找到Firebase Admin SDK的任何文档,这些文档很难通过引用路径作为字段来获取文档。

exports.songs = functions.https.onRequest((request, response) => {
db.collection('songs')
    .get()
    .then(querySnapshot => {
        querySnapshot.forEach(doc => {
            let data = doc.data()
            let artist = data.artist // reference field to artist document?
            artist.get().then(documentSnapshot => {
            response.send(documentSnapshot)
            })
        })
        })
     .catch(error => {
     console.log('Error getting documents: ', error)
     })
 })

我期待收到引用的艺术家文档的doc.data()。但是,我只是超时了。

答案

您可以像任何其他字段一样查询引用类型字段。您所要做的就是传入DocumentReference类型对象:

const artistRef = db.collection("artists").child("some-artist-id");

db
    .collection("songs")
    .where("artist", "==", artistRef)
    .get()
    .then(...)

以上是关于如何使用引用路径查询文档?的主要内容,如果未能解决你的问题,请参考以下文章

我可以获取从 Firestore 集合组查询中获取的文档的路径或引用吗?

保留对附加节点 javascript 的引用

为啥 GraphQL 片段在查询中需要 __typename?

你如何在 python 中处理 graphql 查询和片段?

MongoDB:如何引用变量路径?

src,href 和rel的区别