在React应用程序中使用Firestore,我正在测试使用Google云函数获取一个文档字段,然后使用该字段在Firestore中创建一个新字段。前几天我让它工作了,现在不行了。
这是我在谷歌云功能日志中得到的错误:
错误:无法解码文件快照中FiresteValue:{"stringValue":"sox"}的类型。_decodeValue
下面是我使用的代码。它与此处的代码非常相似:https://firebase.google.com/docs/firestore/extend-with-functions#writing_data
exports.createShowDoubleName = functions.firestore
.document('shows/{showId}')
.onUpdate((event) => {
const data = event.data.data();
const previousData = event.data.previous.data();
if (data.name == previousData.name) return;
var name = data.name;
var newname = name+"_"+name
return event.data.ref.set({
newname: newname
}, {merge: true});
});
我也有同样的问题和错误。在升级Firebase函数和Firebase管理员(npm安装firebase-functions@latest保存)和(npm安装firebase-admin@latest保存)后,它解决了这个问题。深入到日志中,这个问题似乎是在旧版本的Firebase-admin中。我现在运行管理版本5.5.1和功能版本0.7.4。
firebase功能SDK版本0.7。5应该可以解决这个问题。它现在强制firebase admin 5.5上存在对等依赖关系。0.获取它:
npm install firebase-functions@0.7.5
当运行最新版本(0.7.4)的Firebase函数
时,我无法重现错误。
您必须运行旧版本,因为当前版本的firebase functions
需要触发器函数来返回promise或值。对于当前版本,此语句产生错误:
if (data.name == previousData.name) return;
并且必须改为:
if (data.name == previousData.name) return null;
建议您通过在项目的functions
文件夹中运行以下命令升级firebase函数
:
npm install firebase-functions@latest --save
我已经部署了一个CloudFirebase函数来更新一些聚合数据,但是我得到了 聚合收据评级:错误:无法从文件快照中的消防恢复值解码类型:{“integerValue”:“3”}。_decodeValue(/user_code/node_modules/Firebase-admin/node_modules/@google-Cloud/消防恢复/src/document.js:464: 15)在D
我想创建一个函数,将在身份验证触发器上添加数据到FIREST。 但它给出了错误 错误:无法在函数处将类型([object Undefined])编码为Firestore值。函数处的encodeValue(/user\u code/node\u modules/firebase admin/node\u modules/@google cloud/firestore/src/document.js:
我正在编写云函数,Firez是这样自动导入的。 但在部署时,错误如下所示。我试着这样做,它部署没有任何错误,但我不确定这是正确的方式与否。 有人知道吗? node_modules/@googlecloud/firestore/types/firestore。d、 ts:28:15-错误TS2300:重复标识符“DocumentData”。 28导出类型DocumentData={[field: s
我在nodeJS中有一个主要的谷歌云功能。在这个函数中,我希望通过编程在同一个项目中创建另一个云函数。这个新的云函数的代码可以存储在谷歌云存储的zip文件中。我试着跟着这里的导游走:https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions/create 我能够在测试模拟器中运行查询,
package.json: 我还为数据库设置了如下规则: