gpt4 book ai didi

javascript - 查询 Firestore 文档中的引用字段

转载 作者:行者123 更新时间:2023-12-05 06:37:27 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数将在文档(在 Firestore“艺术家”集合中)中的数据发生更改后,让 Google Cloud Functions 查找另一个集合(“节目”)中具有指向刚刚更改的文档(在“艺术家”集合中)的引用字段(“艺术家”)。

我似乎不知道如何查询引用字段。我尝试了从使用艺术家文档的 ID 到路径再到完整 URL 的所有方法。但是我在 Google Cloud Function 控制台中收到错误消息:

Error getting documents Error: Cannot encode type ([object Undefined]) to a Firestore Value

这是我的代码示例:

exports.updateReferenceArtistFields = functions.firestore
.document('artists/{artistId}').onWrite(event => {
var artistRef = event.data.data();
var artistId = artistRef.id;
var ShowsRef = firestore.collection('shows');
var query = ShowsRef.where('artist', '==', artistId).get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
console.log('Error getting documents', err);
});
});

最佳答案

我会像这样直接从参数中获取 artistId:

var artistId = event.params.artistId;

例子:

exports.updateReferenceArtistFields = functions.firestore
.document('artists/{artistId}').onWrite(event => {
var artistId = event.params.artistId;
var showsRef = firestore.collection('shows');
var query = showsRef.where('artist', '==', artistId).get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
console.log('Error getting documents', err);
});
});

关于javascript - 查询 Firestore 文档中的引用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47937202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com