[英]firebase.firestore.FieldValue.arrayUnion is not a function
[英]In firestore "Property 'arrayUnion' does not exist on type 'typeof FieldValue'"
我在我的 angular 项目中使用 @angular/fire": "7.4.0" 我只想对用户文档进行更新操作。在用户文档中有一个字段'groups',它是 firestore 中的数组类型。我想在该数组中插入一个新值。检查用户文档结构的图像
我使用以下语法进行更新操作-
//Add Group in user's groups array
addGroupToUserDoc(gid: string, userId: string) {
const userRef = this.db.doc(`users/${userId}`).update(
{
groups: FieldValue.arrayUnion(gid),
}
);
}
错误 -收到错误
这里 this.db 是 'AngularFirestore' object。我参考了以下两个资源并尝试了两种方法但没有任何效果。
https://github.com/angular/angularfire/issues/2008
https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array
您需要在 FieldValue 之前添加“firestore”。 像这样:
//Add Group in user's groups array
addGroupToUserDoc(gid: string, userId: string) {
const userRef = this.db.doc(`users/${userId}`).update(
{
groups: firestore.FieldValue.arrayUnion(gid),
}
);
}
并从 firestore/app 导入 firestore
import { firestore } from 'firebase/app';
就我而言,在 Node 环境中使用 SDK 我不得不使用
import * as admin from 'firebase-admin'
admin.firestore.FieldValue.arrayUnion(gid)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.