FieldValue未定义

时间:2019-10-01 13:48:43

标签: reactjs firebase google-cloud-firestore

我在我的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未定义。

3 个答案:

答案 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;