Firebase 如何在angularfire中执行事务?

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 //

我的代码是它提供了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

    // 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 }  )

这不是一个完整的答案,但对于原子增量,根本没有理由使用事务,因为。是的,我尝试过,它工作正常