Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
98
rated 0 times [  105] [ 7]  / answers: 1 / hits: 25045  / 7 Years ago, tue, november 28, 2017, 12:00:00

How can i update multiple documents in firestore by using a single transaction i searched but i didn't get any answers. Is it possible to update multiple documents in a single transaction? I know it can be done by batch writes.


More From » firebase

 Answers
44

I figured it out we can use multiple ref inside a transaction:



var userSuhail = db.collection(users).doc(suhail);
var userSam = db.collection(users).doc(sam);
var userJohn = db.collection(users).doc(john);
var userAlfred = db.collection(users).doc(Alfred);
var userAlfredDetails = db.collection('userdetails').doc('Alfred');

db.runTransaction(function (transaction) {
return transaction.get(userJohn).then(function (sDoc) {
var age = sDoc.data().age + 1;
transaction.set(userAlfred, {
name: 'Alfred',
age,
details: userAlfredDetails,
});
transaction.set(userAlfredDetails, {
address: 'Alfred Villa',
});
transaction.update( userJohn , { age, }, );
transaction.update( userSuhail , { age, }, );
transaction.update( userSam , { age, }, );
return age;
});
}).then(function (age) {
console.log(Age changed to , age);
}).catch(function (err) {

console.error(err);
});


By the above code the transaction updates age of all users.


[#55815] Saturday, November 25, 2017, 7 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
dequant

Total Points: 88
Total Questions: 99
Total Answers: 95

Location: Ukraine
Member since Sun, Dec 13, 2020
4 Years ago
dequant questions
;