使用 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)});
});
}),
我是 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)});
});
}),