使用 Flutter 更新 Firestore Cloud 中的文档值,只有此类文档的唯一键值

Update document value in Firestore Cloud with Flutter, having only a unique key value of such document

我是 Cloud Firestore 的新手,但已经进行了一些 CRUD 操作,但现在我真的被这个东西困住了。

'tiposFrota' 集合中的每个文档都有一个具有唯一值的键 'nome:',任何文档都不会具有与 'nome:' 键相同的值。

问题是,每当用户将另一个 'Truck' 添加到其他一些集合时,我需要将 'qtde:' 的值递增 1,当他们删除 'Truck' 时,程序将将数字递增 -1,用作计数器。

我设法创建了一个更新键值的操作,但前提是您拥有文档 ID,但在这种情况下,该 ID 是自动生成的,因为它们可能会在 'tiposFrota' 集合中添加或删除标准值.

FirebaseFirestore.instance
.collection('controladores')
.doc('contadores')
.update({'numFrota': FieldValue.increment(1)}),

我真的被这个问题困住了,如果有人能帮忙的话。

谢谢!

哇哦,自己解决了,这个post .

由于 'nome:' 值对于 'tiposFrota' 集合中的每个文档都是唯一的,我可以使用 .where 语句作为所述文档的过滤器,获取包含所有文档的快照(但仅得到一个,显然)并使用 'forEach' 方法在调用文档时使用 '.id' 参数创建一个函数。

FirebaseFirestore.instance
.collection('tiposFrota')
.where('nome', isEqualTo: carMake)
.get()
.then((querySnapshot) { 
  querySnapshot.docs.forEach((element) {
     FirebaseFirestore.instance
     .collection('tiposFrota')
     .doc(element.id)
     .update({
       'qtde': FieldValue.increment(1)});
  });
}),