gpt4 book ai didi

node.js - Cloud Functions for Firebase 的增量计数器

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:27 25 4
gpt4 key购买 nike

我已经看到一个带有 Cloud Functions 的增量计数器引用实时数据库,但还没有看到 Firebase Firestore。

我有一个监听新文档的云函数:

exports.addToChainCount = functions.firestore
.document('chains/{name}')
.onCreate((snap, context) => {

// Initialize document
var chainCounterRef = db.collection('counters').doc('chains');

var transaction = db.runTransaction(t => {
return t.get(chainCounterRef).then(doc => {
// Add to the chain count
var newCount = doc.data().count + 1;
t.update(chainCounterRef, { count: newCount });
});
}).then(result => {
console.log('Transaction success!');
}).catch(err => {
console.log('Transaction failure:', err);
});
return true;
});

我正在尝试上述事务,但是当我在终端中运行 firebase deploy 时,我收到此错误:

error Each then() should return a value or throw promise/always-return functions predeploy error: Command terminated with non-zero exit code1

这是我第一次尝试任何 node.js,我不确定我是否写对了。

最佳答案

现在有一种更简单的方法来增加/减少文档中的字段:FieldValue.increment()。您的示例将是这样的:

const FieldValue = require('firebase-admin').firestore.FieldValue;
var chainCounterRef = db.collection('counters').doc('chains');
chainCounterRef.update({ count: FieldValue.increment(1) });

参见:

关于node.js - Cloud Functions for Firebase 的增量计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51016210/

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