suh*_*l c 13 javascript firebase google-cloud-firestore
如何通过使用我搜索的单个事务更新firestore中的多个文档,但我没有得到任何答案.是否可以在单个交易中更新多个文档?我知道它可以通过批量写入来完成.
我想到了
我们可以在事务中使用多个ref
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);
});
Run Code Online (Sandbox Code Playgroud)
通过上面的代码,事务更新了所有用户的年龄
归档时间: |
|
查看次数: |
9641 次 |
最近记录: |