Firebase 如何在angularfire中执行事务?
我的代码是它提供了firebase的文档,这是一个简单的增量:Firebase 如何在angularfire中执行事务?,firebase,google-cloud-firestore,angularfire2,angularfire,Firebase,Google Cloud Firestore,Angularfire2,Angularfire,我的代码是它提供了firebase的文档,这是一个简单的增量: let transaction = this.db.firestore.runTransaction(t => { return t.get(query) .then(doc => { // Add one person to the city population. // Note: this could be done without a transaction //
let transaction = this.db.firestore.runTransaction(t => {
return t.get(query)
.then(doc => {
// Add one person to the city population.
// Note: this could be done without a transaction
// by updating the population using FieldValue.increment()
let newPopulation = doc.data().population + 1;
t.update(query, {population: newPopulation});
});
}).then(result => {
console.log('Transaction success!');
}).catch(err => {
console.log('Transaction failure:', err);
});
但是查询不起作用
“AngularFirestoreDocument”类型的参数不能分配给“DocumentReference”类型的参数。
类型“AngularFirestoreDocument”中缺少属性“id”
谢谢我找到的增加原子值的解决方案是
const increment = firebase.firestore.FieldValue.increment(1);
const query = this.db.collection(nameOfCollection).doc(idDoc);
query.update({ valIncrement:increment } )
这不是一个完整的答案,但对于原子增量,根本没有理由使用事务,因为。是的,我尝试过,它工作正常