Cloud Firestore 触发器“您的触发器必须始终指向文档”

Cloud Firestore triggers " Your trigger must always point to a document"

我想做的是...我的文档流程

batch(collection) -> {batchName}(document) -> subjects -> {subjectName} -> attendance

我想在考勤对象有更新时触发firestore功能

因此,在 Cloud Firestore 触发器的文档中,我找到了“您的触发器必须始终指向文档”这一行以及一个示例……这里是 link 到 documentation

这让我希望有可能做到这一点,但我没能做到,

exports.attendenceTrigger = functions.firestore.document('batche/{batchName}/subjects/{subjectName}/attendance')

可以吗?如果是,那我做错了什么?

您已指定集合的​​路径

'batche/{batchName}/subjects/{subjectName}/attendance'
 (col)    (doc)      (col)      (doc)       (col)

但是,您的路径必须指向文档,因此有效路径包括:

// Triggers a function when a doc in subjects sub-collection is changed
'batche/{batchName}/subjects/{subjectName}'

// or

// Triggers a function when a doc in attendance sub-collection is changed
'batche/{batchName}/subjects/{subjectName}/attendance/{attendanceId}'

attendance是子集吗?如果是,则使用上面的第二个路径来侦听在该集合中的文档为 created/modified/deleted 时触发函数。如果 attendance{subjectName} 文档中的字段,那么您应该使用第一行并从快照 snapshot.data().attendance.

访问 attendance 字段