【问题标题】:How to set documentID in firestore using flutter如何使用颤振在 Firestore 中设置 documentID
【发布时间】:2021-03-01 13:52:44
【问题描述】:

我试图在我的颤振应用程序中手动设置我的 documentID,但它不断在我的文档中创建一个名为 DocumentID 的新字段。如何设置我的记录?

  final barcode = TextEditingController();
  final price = TextEditingController();
  final stock = TextEditingController();
  final color = TextEditingController();
  ///the above are textformfield controllers I use for the data input
  addData() {
    Map<String, dynamic> theData = {
      //"DocumentID" : barcode.text,
      "Color" : color.text,
      "Price" : price.text,
      "Stock" : stock.text,
    };
    CollectionReference collectionReference = Firestore.instance.collection("products");
    collectionReference.add(theData);
  }
  addID(){
    DocumentReference dataID = Firestore.instance.document("products");
    dataID.set(DocumentReference, barcode.text);
  }

使用 addData 方法时,我的数据库中的数据也只显示“”:

下面是mu调整后的代码:

  final barcode = TextEditingController();
  final price = TextEditingController();
  final stock = TextEditingController();
  final color = TextEditingController();
  addData() {
    Map<String, dynamic> theData = {
      "Color" : color.text,
      "Price" : price.text,
      "Stock" : stock.text,
    };
    CollectionReference collectionReference = Firestore.instance.collection("products");
    FirebaseFirestore.instance.collection("products").doc(barcode.text).set(theData);
    collectionReference.add(theData);

  }

我收到此错误:

【问题讨论】:

  • 它创建了一个 documentid 因为你有这个 //"DocumentID" : barcode.text, 可能没有被评论

标签: firebase flutter google-cloud-firestore flutter-web


【解决方案1】:

你可以这样设置

        FirebaseFirestore.instance.collection("products").doc("my_own_document_id").set(data);

您可以在创建文档时设置文档 ID,但不能更改它

【讨论】:

  • hintText/Labeltext 有什么干扰吗?
  • 我如何输入barcode.text,因为它是一个textformfield,所以页面必须先加载,也许在方法中添加await?
  • 为提供的答案格式化问题,提出新问题
猜你喜欢
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 2020-08-13
  • 2019-05-19
  • 1970-01-01
  • 2019-10-03
  • 2021-12-13
  • 2020-02-16
相关资源
最近更新 更多