简体   繁体   中英

Add field separately to firestore document

The following code creates a firestore collection and adds data to it:

function saveID(sender_psid,complete){
   let data = new Object();
   data.ID = sender_psid;
   data.TASK = complete;
   data.TIME = new Date();
   db.collection('users').add(data);
}

I want to create another function which adds a field to the document at a different time. I have the following function but am getting the error "TypeError: collectionRef.update is not a function"

function saveImage(sender_psid,image) {


  let collectionRef = db.collection('users');


  collectionRef.update({IMG:image}).then(res => {
  console.log(`Document updated at ${res.updateTime}`);
});
}

Build a DocumentReference to the document you want to update, then use the update() method on the DocumentReference to indicate only the fields to be added or changed. Pass it an object with only properties that match the fields to add or change.

According tothis documentation, There is a better way

const cityRef = db.collection('cities').doc('BJ');

const res = await cityRef.set({
  capital: true
}, { merge: true });

Flutter Example:

var userDoc = Firestore.instance.collection('users').document('replaceIdHere');
userDoc.updateData({'fieldName':'newValue'});

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM