flutter FirebaseException([cloud_firestore/not-found]某些请求的文档未找到,)

sdnqo3pr  于 2023-05-08  发布在  Flutter
关注(0)|答案(1)|浏览(124)
onConfirm: (date)async{
  await FirebaseFirestore.instance.collection('orders')
    .doc(order['orderid']).update(
     {
       'deliverystatus':'shipping',
       'deliverydate':date,
    }, 
  );
}

FireBase屏幕截图

cotxawn7

cotxawn71#

您尝试通过文档ID加载文档,但在屏幕截图中,您共享的orderid字段的值(250fa...)与中间列中的文档ID(CwdHE...)**不匹配。
如果知道文档ID,可以将其传递给doc()方法,并保持代码的其余部分不变。
如果你不知道文档ID,你可以使用use a query来循环基于orderid的文档。基于该链接中的示例代码,它看起来像这样:

db.collection("orders").where("orderid", isEqualTo: order['orderid']).get().then(
      (querySnapshot) {
        print("Successfully completed");
        for (var docSnapshot in querySnapshot.docs) {
          print('${docSnapshot.id} => ${docSnapshot.data()}');
        }
      },
      onError: (e) => print("Error completing: $e"),
    );

但请考虑是否真的需要使用不同的文档ID和订单ID。如果您的orderid值在orders集合中始终是唯一的,则使用orderid作为文档ID可能更容易,或者使用Firestore生成的文档ID作为订单ID。

相关问题