Firebase 颤振/飞镖:将数据保存在firestore的不同文档中

Firebase 颤振/飞镖:将数据保存在firestore的不同文档中,firebase,dart,flutter,google-cloud-firestore,Firebase,Dart,Flutter,Google Cloud Firestore,我正在尝试使用以下代码向firestore添加数据。 我选择了几个特征,比如食物、田地、日期、时间和地点。 当我按下按钮时,Future _addAll函数被调用,上面的数据被保存到firestore中 保存页面后,移动到主页面。问题从这里开始。当我选择不同的数据并尝试使用新的documentID将其保存到firestore时,除非我刷新页面,否则它只会覆盖到上一个文档。 具体来说,当我按下按钮时,数据存储在名为-LKV8ZPIAUwk329KqMac的文档中。当我选择不同的数据并试图保存到新文

我正在尝试使用以下代码向firestore添加数据。 我选择了几个特征,比如食物、田地、日期、时间和地点。 当我按下按钮时,Future _addAll函数被调用,上面的数据被保存到firestore中

保存页面后,移动到主页面。问题从这里开始。当我选择不同的数据并尝试使用新的documentID将其保存到firestore时,除非我刷新页面,否则它只会覆盖到上一个文档。 具体来说,当我按下按钮时,数据存储在名为-LKV8ZPIAUwk329KqMac的文档中。当我选择不同的数据并试图保存到新文档时,它再次被保存到中 -LKV8ZPIAUwk329KqMac

每次按下按钮时是否有办法将其保存到新文档中: 先谢谢你

Future _addAll(BuildContext context, List chooseFood, List chooseField, String date, String time,
double latitude, double longitude, String text, String uid, String partnerUid) async {
  _controller.clear(); //clear text message
  var sendRequestID; //variable to store documentID
  List connections = new List();

auth.currentUser().then((user) async { //save data to collection('connect')
await docRef.setData({
  'createdTime': DateTime.now(),
  'foods': chooseFood,
  'fields': chooseField,
  'meet_date': date,
  'meet_time': time,
  'latitude': latitude,
  'longitude': longitude,
  'one_word': text,
}).whenComplete(() {
  sendRequestID = docRef.documentID;
  print("DB 저장 $sendRequestID");
  connections.add(sendRequestID);
}).catchError((e) => print(e));

await docRef.collection('connected_users').document('send_request').setData({ //create collection inside a collection
  'email': user.email,
  'name': user.displayName,
  'photoUrl': user.photoUrl
}).catchError((e)=>print(e));
}
您可以使用collection….adddata,它相当于collection….document.setDatadata。
这将添加一个新文档。您必须在CollectionReference上使用此选项。

如何获取docRef?很抱歉,详细信息不准确,docRef是Firestore.instance.collection“connect”。document。我正在使用Firestore.instance.collection“connect”。document to setData,如何将其更改为CollectionReference?它是否像CollectionReference col=Firestore.instance.collection'connect'?我更改为'Firestore.instance.collection'connect.adddata',但我收到错误颤振:以下NoSuchMethodError被抛出building StreamBuilderdirty,状态:颤振:_StreamBuilderBaseStatef517c:颤振:getter'documents'被调用为null。