TypeError:无法读取未定义的属性(读取“arrayRemove”)

问题描述 投票:0回答:1

我在 firebase 模拟器中有一个云函数,我正在尝试更新一个数组。但是,当函数运行时,出现以下错误:

TypeError: Cannot read properties of undefined (reading 'arrayRemove')
。我不确定出了什么问题。我的节点版本是 16.

这是我的功能代码:

const functions = require("firebase-functions");
const admin = require("firebase-admin");

admin.initializeApp();

const db = admin.firestore();
const storage = admin.storage();

exports.completeEventRegistration = functions.firestore
    .document("<path>")
    .onCreate(async (snap, context) => {

     // <ommitted>

      try {

        await db.runTransaction(async (transaction) => {

          // <omitted>   

          const fieldValue = admin.firestore.FieldValue;

          transaction.update(committeeRef, {"countries": fieldValue.arrayRemove({
            "name": chosenCountry,
            "taken": false,
          })});


        });

      } catch (error) {
        console.log("Error registering: ", error);
        throw new functions.https.HttpsError("internal", "Error registering");
      }

    });

javascript node.js firebase google-cloud-functions firebase-admin
1个回答
0
投票

fieldValue
似乎没有定义/声明。您需要声明如下:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

const fieldValue = require('firebase-admin').firestore.FieldValue;
© www.soinside.com 2019 - 2024. All rights reserved.