Reputation: 81
I have a field called jobsPosted as seen in the picture, so I want to add another job, I have dishwasher and waiter already. But I get an error with this query
db.collection("companies").doc("Tiradito").field("jobsPosted").set(postJobObject).then(function() {
console.log("Document successfully written!");
});
That's my postJobbject
var postJobObject = {
"position": this.state.selected,
"timeSchedule": this.state.timeSchedule,
"compensation" : this.state.compensation,
"experience" : this.state.experience,
"description" : this.state.description
}
Upvotes: 8
Views: 15619
Reputation: 1591
pass the option to merge the new data with any existing document to avoid overwriting entire documents
var cityRef = db.collection('cities').doc('BJ');
var setWithMerge = cityRef.set({
capital: true
}, { merge: true });
source: https://firebase.google.com/docs/firestore/manage-data/add-data
Upvotes: 15
Reputation: 6900
Try
jobsPosted = {}
var postJobObject = {
"position": this.state.selected,
"timeSchedule": this.state.timeSchedule,
"compensation" : this.state.compensation,
"experience" : this.state.experience,
"description" : this.state.description
}
jobsPosted['newJob'] = postJobObject;
Then use update
db.collection("companies").doc("Tiradito").update(jobsPosted).then(function() {
console.log("Document successfully written!");
});
Upvotes: 2