我正在尝试编写一个函数,它会在文档中的数据更改后(Firestore“artists”集合内),让Google Cloud Functions查找另一个集合(“shows”)中所有具有指向刚刚更改的文档(“artists”集合内的文档)的引用字段(“artist”)的文档。
我似乎无法弄清楚如何查询引用字段。我已经尝试了从使用艺术家文档的ID、路径到完整的URL等各种方法。但我在Google Cloud Function控制台中收到了错误信息。
以下是我的一段代码示例:
我似乎无法弄清楚如何查询引用字段。我已经尝试了从使用艺术家文档的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);
});
});