FirebaseのCloud Firestoreにユーザ登録して、usersフィールドにuidでドキュメント作って
その下にサブコレクションを作るコードメモ
signUpAndGenerateSubCollection.dart
Future signUpAndGenerateSubCollection() async {
try {
// メールとパスワードでユーザー登録
final FirebaseAuth auth = FirebaseAuth.instance;
final AuthResult result = await auth.createUserWithEmailAndPassword(
email: email,
password: password,
);
// 登録したユーザー情報
final FirebaseUser user = result.user;
final users = Firestore.instance.collection('users');
collection.document(user.uid).collection('hoge').add({
'hoge': hoge,
});
} catch (e) {
// 登録に失敗した場合
throw (e);
}
}
新規登録の後に新しく作る場合
adHoge.dart
Future addHoge() async {
final FirebaseAuth auth = FirebaseAuth.instance;
final users= Firestore.instance.collection('users');
final user = await auth.currentUser();
if (user != null) {
users.document(user.uid).collection('hoge').add({
'hoge': hoge,
});
}
}
ユーザが個別の記事などを投稿する場合、サブコレクションを実装したほうが後々よさそう。
参考:
Cloud Firestoreの勘所 パート2 — データ設計(https://medium.com/google-cloud-jp/firestore2-920ac799345c)