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));
Firebase npm module was out of date. Had to manually reinstall
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()
. ttps://github.com/firebase/firebase-admin-node/issues/323
"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
import firebase from 'firebase/app'
const arrayToUpdate = firebase.firestore.FieldValue.arrayUnion(value)
If your using the new modular version 9 for javascript use the code below
import { getFirestore, arrayUnion, updateDoc } from "firebase/firestore";
const db = getFirestore(config);
const pathRef = doc(db, "doc", "id");
await updateDoc(pathRef , {
myArr: arrayUnion("test")
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.