update firestore document with new field code example
Example 1: simple firestore cloud function update document
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const resetCounter = functions.https.onRequest((req, res) => {
const resetRef = admin.firestore()
.collection('collectionName')
.doc('documentName')
resetRef.get().then((doc) => {
if(doc.exists){
resetRef.update({counter: 0})
.catch(err => {
console.log("Error",err)
res.send("500");
})
}
}).catch(err=>{
//Internal server error
console.log("Error",err)
res.send("500");
});
//Successful operation
res.send("200");
});
Example 2: firestore cloud function update documents
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const setProductsToExpired = functions.https.onRequest(async(request, response) => {
const expiredProducts = await admin.firestore()
.collection('products')
.where('timestamp','<=', admin.firestore.Timestamp.now())
.get();
const batch = admin.firestore().batch();
expiredProducts.forEach(doc => {
batch.update(doc.ref,'expired',true);
});
await batch.commit();
//Successful operation
response.send("200");
});
Example 3: firestore create document with auto id
// Add a new document with a generated id.
db.collection("cities").add({
name: "Tokyo",
country: "Japan"
})
.then(function(docRef) {
console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
console.error("Error adding document: ", error);
});
---------------------------
//If you want to specify id then use .set()
// e.x \/
db.collection("cities").doc("TYO").set({
name: "Tokyo",
country: "Japan"
})
Example 4: firebase cloud method update
firebase deploy --only functions:functionNameHere
Example 5: document.set() firebasefirestore java
var washingtonRef = db.collection("cities").doc("DC");// Atomically add a new region to the "regions" array field.washingtonRef.update({ regions: firebase.firestore.FieldValue.arrayUnion("greater_virginia")});// Atomically remove a region from the "regions" array field.washingtonRef.update({ regions: firebase.firestore.FieldValue.arrayRemove("east_coast")});