我在我的React应用中使用Firestore。尝试获取/创建/更新文档时,它没有任何问题。 但是,我无法访问FieldValue,我需要使用arrayUnion更新数组。我使用的Firebase版本是6.6.2。
具体来说,这是我要开始工作的代码:
const locations = firebase.firestore.FieldValue.arrayUnion('location 1')
firebase.firestore().collection('config').doc('groups').update({ locations })
firebase.firestore()
在完全相同的文件中工作,但firebase.firestore.FieldValue
未定义。
答案 0 :(得分:1)
解决方案是直接从firebase程序包而不是从实例化的firebase应用程序导入FieldValue。
import firebase from 'firebase/app'
const arrayToUpdate = firebase.firestore.FieldValue.arrayUnion(value)
答案 1 :(得分:0)
导入Firebase的方式似乎有问题。
我的应用初始化为:
admin.initializeApp(functions.config().firestore);
像这样使用它时,我有一个arrayUnion:
import * as admin from 'firebase-admin';
const firestoreAdmin = admin;
const firestoreInstance = admin.firestore();
// Example: admin.firestore.FieldValue.arrayUnion('entry-to-add'),
答案 2 :(得分:0)
我相信,由于您将initializeApp
设置为app
,因此您将想使用app.firestore.FieldValue;