How to set documentID in firestore using flutter

牧云@^-^@ 提交于 2021-01-07 02:16:50

问题


I am trying to set my documentID manually in my flutter application but it keeps creating a new field inside my document named DocumentID. How do I set my documented?

  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);
  }

The data also displays only "" in my database when using the method addData:

Below is mu adjusted code:

  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);

  }

I get this error:


回答1:


you can set it like this

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

you can set the document id while creating it, but you cannot change it



来源:https://stackoverflow.com/questions/64890658/how-to-set-documentid-in-firestore-using-flutter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!