Ale*_*Ali 1 dart firebase google-cloud-platform flutter google-cloud-firestore
我尝试将用户存储在 Firestore 中的集合中作为文档,并希望使每个用户 ID 与文档 ID 相同。我尝试过,但它仍然为我提供了另一个用户 ID:
Future<void> userSetupDone() async {
CollectionReference users = FirebaseFirestore.instance.collection('Users');
final docUser = FirebaseFirestore.instance.collection('Users').doc();
FirebaseAuth auth = FirebaseAuth.instance;
String? uid = docUser.id;
// String? uid = auth.currentUser?.uid.toString();
String? email = auth.currentUser?.email.toString();
String? phone = auth.currentUser?.phoneNumber.toString();
String? displayName = auth.currentUser?.displayName.toString();
users.add({'Uid': uid, "Email": email, "Phone": phone, "Name": displayName});
return;
}
Run Code Online (Sandbox Code Playgroud)
通过调用add()中的方法
users.add({'Uid': uid, "Email": email, "Phone": phone, "Name": displayName});
return;
}
Run Code Online (Sandbox Code Playgroud)
您实际上使用自动生成的 ID创建了一个新文档,因此它的 ID 与您通过 获得的 ID 不同String? uid = docUser.id;。
因此,您需要在您创建的(即)上使用该set()方法,如下所示:DocumentReferencedocUser
await docUser.set({'Uid': uid, "Email": email, "Phone": phone, "Name": displayName});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |