我正在学习使用云函数来更改firestore中的值。我有一个按名称用户的集合,其中有一个文档,它有一个按照名称计数的字段。我试图实现的是,每当我将count的值更改为小于0(即负数(时,都会向云函数发送一个调用,云函数会将该计数的值改为0。
我该怎么做?我写了一个示例代码并部署了它,但它似乎不起作用。
const functions = require('firebase-functions')
const admin = require('firebase-admin')
admin.initializeApp()
exports.checkCount = functions.firestore
.document('boys/{count}')
.onCreate((snap) => {
console.log('----------------start function--------------------')
const doc = snap.data()
const count = doc.count
console.log(`Starting to push token`)
try{
if(count < 0){
admin.firestore().collection('boys').update({"count":0})}
}catch(e){
console.log('Can not find pushToken target user')
}
return null
})
这段代码甚至不向云函数发送请求。
你说你想回应:
每当我更改计数的值时
但您的代码触发:
functions.firestore
.document('boys/{count}')
.onCreate((snap) => {
由于您使用onCreate
,因此此代码仅在首次创建boys/{count}
文档时触发。如果要在所有写入时触发,请使用onWrite
。请查看我链接的文档中的确切签名。