flutter 如何保存文档的数据,但更改其中一个值

new9mtju  于 2023-08-07  发布在  Flutter
关注(0)|答案(1)|浏览(123)

我使用文档的id来标识我想要修改的文档,但是如果我想使用文档内部的值呢?举例来说:

dbUserDoc.collection('shoplist').get().then((querySnapshot) => {
            // ignore: avoid_function_literals_in_foreach_calls
            querySnapshot.docs.forEach((result) {
              final docPro = FirebaseFirestore.instance
                  .collection('products')
                  .doc(result.id); //here i use the document id but i want to use a value inside of that document
              print(result.id);
              docPro.get().then((DocumentSnapshot doc) {
                final data = doc.data() as Map<String, dynamic>;
                final int stockInt =
                    data['stock'] - int.parse(result['quantity']);
                final stock = <String, int>{"stock": stockInt};
                docPro.set(stock, SetOptions(merge: true));
              });
            })
          });

字符串


的数据

l7wslrjt

l7wslrjt1#

result对象是DocumentSnapshot类型的对象。如果要显示字段的值,而不是文档ID的值,在您的情况下,这两个值是相同的,请用途:

print(result[id]);

字符串
这意味着您将打印文档中存在的id字段的值。

相关问题