我正在使用 firebase 数据库和一个带有新功能的简单函数FieldValue.increment https://firebase.google.com/docs/reference/js/firebase.firestore.FieldValue#static-increment增加一个计数器,但这不起作用,而是添加“操作数”字段而不增加它。
我的功能非常简单:
exports.updateCounters = functions.https.onRequest((req, res) => {
// grab the parameters.
const username = req.query.username;
var updateObject = { };
updateObject[username] = admin.firestore.FieldValue.increment(1);
admin.database().ref('counterstest').update(updateObject);
});
当我部署并调用这个函数时,我希望看到
countertest: {
myusername: 1
}
但我明白了
countertest: {
myusername: {
operand: 1
}
}
相反,操作数:1 永远不会递增,即使我多次调用我的函数。
有人可以指出我在这里犯了什么错误吗?
谢谢你!
FieldValue.increment()
是 Cloud Firestore 的一项功能,但您显然正在尝试将其应用到实时数据库。这是行不通的——它们是不同的数据库,并且实时数据库不支持这样的原子增量。
您实际上在这里所做的是将返回的 FieldValue 对象的 JSON 表示形式写入 Realime 数据库。显然,FieldValue 对象在内部有一个名为“操作数”的属性,其中包含要递增的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)