如何使用 Flutter 在 Firestore 的 uid 文档中创建一个集合?
How to create a collection inside a uid document in Firestore using Flutter?
如何使用 Flutter 基于动态 uid 在 Firestore 中创建子集合?
架构应该是这样的:
users (collection) --> UID (document - 每个用户唯一) --> vault (collection) --> credential (document)
我目前正在使用下面的实现,很明显,当被调用时,它只会创建我需要的架构 除了 使用字符串 "uid" 代替动态 uid用户作为 vault 集合所在的文档。如何更改它以便 document('uid') 元素是当前用户的实际 uid 文档,而不仅仅是字符串 "uid"?
import 'package:mindpass/models/user.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class DatabaseService {
final String uid;
DatabaseService({ this.uid });
String credential;
// collection reference
final CollectionReference vaultCollection = Firestore.instance.collection('users').document('uid').collection('vault');
Future<void> updateVaultData(String credUN, String timeStamp) async {
return await vaultCollection.document(credential).setData({
'credUN': '"aribtraryUN"',
'timeStamp': Timestamp.now()
});
}
如果用户使用 Firebase 身份验证登录,您可以通过以下方式获取他们的 UID:
var user = await FirebaseAuth.instance.currentUser();
var uid = user.uid;
然后得到他们的保险库collection:
final CollectionReference vaultCollection = Firestore.instance.collection('users').document(uid).collection('vault');
如何使用 Flutter 基于动态 uid 在 Firestore 中创建子集合?
架构应该是这样的: users (collection) --> UID (document - 每个用户唯一) --> vault (collection) --> credential (document)
我目前正在使用下面的实现,很明显,当被调用时,它只会创建我需要的架构 除了 使用字符串 "uid" 代替动态 uid用户作为 vault 集合所在的文档。如何更改它以便 document('uid') 元素是当前用户的实际 uid 文档,而不仅仅是字符串 "uid"?
import 'package:mindpass/models/user.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class DatabaseService {
final String uid;
DatabaseService({ this.uid });
String credential;
// collection reference
final CollectionReference vaultCollection = Firestore.instance.collection('users').document('uid').collection('vault');
Future<void> updateVaultData(String credUN, String timeStamp) async {
return await vaultCollection.document(credential).setData({
'credUN': '"aribtraryUN"',
'timeStamp': Timestamp.now()
});
}
如果用户使用 Firebase 身份验证登录,您可以通过以下方式获取他们的 UID:
var user = await FirebaseAuth.instance.currentUser();
var uid = user.uid;
然后得到他们的保险库collection:
final CollectionReference vaultCollection = Firestore.instance.collection('users').document(uid).collection('vault');