- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Node.js Firebase Admin SDK 将新的 javascript 对象添加到 Firestore 集合中的数组字段。
我确定我要定位的文档有问题的字段,但我不断收到错误:TypeError:
无法读取未定义的属性“arrayUnion”
我知道这个question但修复没有帮助。
如有任何帮助,我们将不胜感激。
有问题的路线:
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(...)
关于javascript - 如何在Firestore中正确使用arrayUnion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63287241/
我正在使用 vue.js 和 firebase 构建一个基本的 CRUD 应用程序。我正在尝试构建收藏夹功能,但在存储数据时遇到了一个持续存在的问题。 当用户单击“添加到收藏夹”按钮时,我试图将文档
例如我有这样一个文档: team: { members: [{name: "john", age: 2}, {name: "tim", age: 3}] } 我想将 Tims 年龄更新为 4 {nam
我的 Firestore 数据库中有一个数组,假设它是 [0, 2, 5],我想添加另一个值为 [1, 3, 5] 的数组。当我使用 arrayUnion 添加数组时,它仅添加尚不存在的元素。到目前为
如何将数组传递到 firebase firestore arrayUnion() function ? 当我尝试传递数组时出现此错误。 错误 Error: 3 INVALID_ARGUMENT: Ca
我已经在文档中的集合中创建了一个审阅系统。在文档中,我有一个数组,其中的平均评分为(在上传评论时添加了评分),但是如果我使用FieldValue.arrayUnion上传两个相等的数字,我只会得到一个
我有一个云函数,它会在特定事件发生时调用。在函数中,我将获得一个字符串数组,例如 let h:string[] = ["foo","bar","baz"] 当我尝试更新数组时,类似于此的内容我的文档中
是否可以只允许压入数组字段(在文档中),但阻止写入该数组中的任何现有值? myDocument: { myArray: [ "value1", "value2"
在 Firestore 中,我有一个包含名为 myMap 的 map 的文档,其中包含一个名为 myArr 的数组字段。 是否可以使用 arrayUnion 来更新 myArr,方法是在事务中向其添加
我有一个基本数据库,它本质上存储了用户下方的产品 ID 数组。用户可以选择要添加到数组的产品,因此使用 'arrayUnion' 是有意义的,因此我避免不断读取和重写数组,但是,我不断收到错误 *"P
在我的 Android 应用程序中,我构建了一个名为“Lesson”的对象(它只有 2 个字符串字段)。 我在 Firestore 上有一个集合,其中一个字段是“类(class)”数组(称为“我的类(
我正在创建一个聊天应用程序,用户可以在其中与不同的人开始多个聊天(就像其他聊天应用程序的其余部分一样)。我正在使用 Swift 与 Cloud Firestore . 我的数据库设计如下: Chat
我想通过创建 ArrayUnion 对象来更新我的 firestore 数据库。不幸的是,我的更新方法产生了以下错误: TypeError: ('Cannot convert to a Firest
我正在尝试更新我的 firestore 中的数组,我遵循了 Google ( https://firebase.google.com/docs/firestore/manage-data/add-da
我当前的文档如下所示: { "assignmentName": "OS Assignment-2", "dueDate": "10 August", "createdAt":
addDeposit(account, deposit) { let depositsDoc = this.db.collection("accounts")
我目前正在 iOS 和 Android 中使用 Firebase 开发 Xamarin 应用程序。我正在尝试向 firestore 中的现有数组添加一个值。在 iOS 中,我使用 FieldValue
我有这样的云火存储对象 "TestCollection" : ["Test1","Test"] 现在我想用 FieldValue.arrayUnion 更新这个数组因为如果元素相同,那么我不想做任何事
我正在使用 firestore 更新我的对象上的数组。 我在 documentation 上找到了我可以执行数组联合和删除,这很棒,这是文档中给出的示例: var washingtonRef = db
我在 Cloud Firestore 中有一个文档。 “事件”字段的结构如下: { "events" : [ "eventID-1": [ "value1",
我在 Cloud Firestore 中有一个文档。 “事件”字段的结构如下: { "events" : [ "eventID-1": [ "value1",
我是一名优秀的程序员,十分优秀!