Javascript 如何在Firestore中正确使用arrayUnion?

Javascript 如何在Firestore中正确使用arrayUnion?,javascript,node.js,firebase,express,google-cloud-firestore,Javascript,Node.js,Firebase,Express,Google Cloud Firestore,我正在尝试使用Node.js Firebase Admin SDK向Firestore集合中的数组字段添加新的javascript对象 我确信我所针对的文档有问题的字段,但我不断得到错误:TypeError: 无法读取未定义的属性“arrayUnion” 我知道这一点,但修复没有帮助 任何帮助都将不胜感激 有关路线: router.post("/create-new-user-group", async (req, res) => { try { const

我正在尝试使用Node.js Firebase Admin SDK向Firestore集合中的数组字段添加新的javascript对象

我确信我所针对的文档有问题的字段,但我不断得到错误:TypeError:

无法读取未定义的属性“arrayUnion”

我知道这一点,但修复没有帮助

任何帮助都将不胜感激

有关路线:

router.post("/create-new-user-group", async (req, res) => {
  try {
    const { userId, usersName, groupName } = req.body;

    if (!userId || !usersName || !groupName) return res.status(422).send();

    const groupRef = await db.collection("groups").doc();

    const group = await groupRef.set({
      id: groupRef.id,
      name: groupName,
      userId,
      members: [{ id: userId, name: usersName, isAdmin: true }],
    });
    
    const response = await db
    .collection("users")
    .doc(userId)
    .update({
      groups: fbApp.firestore.FieldValue.arrayUnion({
        id: userId,
        name: userName,
      }),
    });


    res.send(group);
  } catch (error) {
    console.log("error creating new group:", error);
    res.status(400).send(error);
  }
});
firebaseInit.js:

const admin = require("firebase-admin");
const serviceAccount = require("../serviceAccount.json");

const firebaseApp = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://xxx-xxxxx.firebaseio.com",
});

exports.fbApp = firebaseApp;

错误告诉您,
fbApp.firestore.FieldValue
未定义。因此,它没有任何属性或方法供您调用

如果要使用
FieldValue
,则必须通过
firebase admin
命名空间导入来引用它,而不是通过初始化的应用程序实例

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

// now you can write FieldValue.arrayUnion(...)

错误告诉您,
fbApp.firestore.FieldValue
未定义。因此,它没有任何属性或方法供您调用

如果要使用
FieldValue
,则必须通过
firebase admin
命名空间导入来引用它,而不是通过初始化的应用程序实例

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

// now you can write FieldValue.arrayUnion(...)