簡體   English   中英

為什么在 firebase 模擬器中運行代碼時 admin.firestore.FieldValue 未定義?

[英]Why is admin.firestore.FieldValue undefined when running code in firebase emulator?

在我的 firebase 雲功能中,我已將 firebase-admin 升級到版本 11.0.0(從 9.12.0)和引擎從 12 升級到 16。之后,當我在模擬器中運行我的代碼時,admin.firestore.FieldValue 未定義。

當我部署代碼時,它可以正常工作。

我喜歡在模擬器中測試。 我可以做些什么來在模擬器中完成這項工作嗎?

我的代碼:

import * as admin from 'firebase-admin';

// Remove user permissions
await firestore.doc(`/${projectsPath}/${projectKey}`).update({
        roUids: admin.firestore.FieldValue.arrayRemove(uidOfUserToDelete),
        rwUids: admin.firestore.FieldValue.arrayRemove(uidOfUserToDelete),
});

我的 package.json:

{
"name": "functions",
"scripts": {
    "lint": "eslint --ext .js,.ts .",
    "build": "tsc",
    "watch": "tsc --watch",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log",
},
"main": "lib/src/index.js",
"dependencies": {
    "@sendgrid/mail": "^7.7.0",
    "api2pdf": "^1.1.1",
    "axios": "^0.19.2",
    "firebase-admin": "^11.0.0",
    "firebase-functions": "^3.22.0",
    "firebase-tools": "^11.2.0",
    "googleapis": "^104.0.0",
    "lodash": "^4.17.21",
    "mailchimp-api-v3": "^1.13.1",
    "md5": "^2.2.1",
    "onedrive-api": "^1.0.1",
    "pdf-lib": "^1.17.1",
    "php-serialize": "^3.0.1",
    "source-map-support": "^0.5.21"
},
"engines": {
    "node": "16"
},
"devDependencies": {
    "@types/lodash": "^4.14.182",
    "@types/node": "^16",
    "@types/php-serialize": "^3.0.0",
    "@typescript-eslint/eslint-plugin": "^5.30.4",
    "@typescript-eslint/parser": "^5.30.4",
    "eslint": "^8.19.0",
    "eslint-config-google": "^0.14.0",
    "eslint-plugin-import": "^2.26.0",
    "typescript": "^4.7.4"
},
"private": true

}

解決方案是更新您的導入。
這對我有用:

import { FieldValue } from 'firebase-admin/firestore'

時間戳相同

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM