【发布时间】:2019-01-07 01:31:33
【问题描述】:
我正在查询我的歌曲收藏中的一些歌曲,因此我可以通过 http 请求将歌曲数据发送给第三方。在我发送歌曲之前,我需要歌曲的艺术家姓名。我有一个单独的 Artists 集合,其中每个 Artist 文档都有一个“名称”字段。我需要将艺术家姓名与歌曲的其余数据一起发送。
我似乎找不到任何关于 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()。但是,我只是超时了。
【问题讨论】:
-
那么您要做的就是使用具有唯一值的引用类型值查询单个文档,并且您提前知道完整的引用路径?
-
什么是
data.artist?它是一个字符串吗?如果是,您需要做的是:db.collection('artisList').doc(data.artist).get()...而不是artist.get() -
@DougStevenson
song.artist是对我的artists集合中的artist文档的引用。所以我确实提前有完整的参考路径。我不知道,请原谅我在我的问题中不清楚的是如何使用该参考字段来查询被引用的艺术家。另外,感谢您在周日晚上抽出时间阅读我的问题。对此,我真的非常感激。 ' @TonyBuidata.artist是一个引用类型字段。
标签: firebase google-cloud-firestore google-cloud-functions