我正在尝试编写一个函数,在文档(Firestore“艺术家”集合中)中的数据发生更改后,Google Cloud Functions 将查找另一个集合(“显示”)中具有引用字段的所有文档( 'artist')指向刚刚更改的文档(在 'artists' 集合中)。
我似乎不知道如何查询参考字段。我已经尝试了一切,从使用艺术家文档的 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;
Example:
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);
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)