繁体   English   中英

谷歌云功能 Firebase 使用 NodeJS 更新 FieldValue.increment(1) - TypeError: FieldValue.increment is not a function

[英]Google cloud functions Firebase Update FieldValue.increment(1) using NodeJS - TypeError: FieldValue.increment is not a function

我在谷歌云功能中使用 NodeJs,我想增加一个文档中一个参数的值

我启动 Firestore:

const Firestore = require('@google-cloud/firestore');
const PROJECTID = 'XXXX';     
const firestore = new Firestore({
  projectId: PROJECTID,
  timestampsInSnapshots: true    
});

并且 my.get() 和 .set() 函数可以正常工作。 但是当我尝试更新一个增加它的值时,我收到 FieldValue.increment 错误

我试过了:

await snapshot.ref.update({ parameter: FieldValue.increment(1) });

添加:

const FieldValue = require('firebase-admin').firestore.FieldValue;

await snapshot.ref.update({ parameter: FieldValue.increment(1) });

如其他网站所述,并且:

documentRef.update(
  'parameter', Firestore.FieldValue.increment(1)
)

https://cloud.google.com/nodejs/docs/reference/firestore/latest/firestore/fieldvalue中所述

const admin = require('firebase-admin');
increment = admin.firestore.FieldValue.increment(1);
await snapshotRef.update({ parameter: increment });

但没有一个工作。

错误:

类型错误:admin.firestore.FieldValue.increment 不是 function

或者

类型错误:FieldValue.increment 不是 function

  "dependencies": {
    "firebase-admin": "^6.5.1",
    "nodemailer": "^6.6.1"
  }

发行说明中所述, increment()已于 2019 年 4 月添加到 Firestore SDK,但 Firebase Admin 6.5.1于 2019 年 1 月发布。升级到最新版本应该可以解决此问题。

只需添加命令即可更新到最新的 Firebase Admin 版本。

npm i firebase-admin@latest

您还可以通过将版本更改为最新版本来修改 package.json 中的特定package.json 请参阅下面的示例:

"firebase-admin": "latest"

然后运行

npm install

此外,为获得最佳实践,请始终删除node_modules文件夹和package-lock.json ,然后在部署应用程序之前运行npm install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM