Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

firebase.firestore.FieldValue.arrayUnion is not a function

I'm trying to update an array in my firestore, i followed the documentation provided by Google (https://firebase.google.com/docs/firestore/manage-data/add-data) but It doesn't work, I also checked to make sure I have the latest version of the firebase npm module.

Here's my code:

> db
                    .collection('Data')
                    .doc('One')
                    .collection('Doc')
                    .doc(this.$route.params.id.toLowerCase())
                    .update({
                        myArr: firebase.firestore.FieldValue.arrayUnion(
                           'test'
                        ),
                    })
                    .then(() => console.log('Successfully written'))
                    .catch(err => console.log(err));
like image 883
kumail Avatar asked Aug 27 '18 05:08

kumail


4 Answers

Firebase npm module was out of date. Had to manually reinstall

like image 182
kumail Avatar answered Nov 14 '22 13:11

kumail


From this issue

This has been released as part of @google-cloud/firestore v0.16.0. It is not yet available via Firebase Admin, but will be released shortly. Note that the function name is admin.firestore.FieldValue.arrayUnion().

like image 44
kebsama Avatar answered Nov 14 '22 12:11

kebsama


"firebase-admin": "^6.0.0", is the version where arrayUnion was added. Upgrade the npm package.

Check https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore/CHANGELOG.md#060

like image 24
Broda Noel Avatar answered Nov 14 '22 13:11

Broda Noel


import firebase from 'firebase/app'

const arrayToUpdate = firebase.firestore.FieldValue.arrayUnion(value)
like image 1
Gabriel Guita Avatar answered Nov 14 '22 13:11

Gabriel Guita