繁体   English   中英

如何使用 Flutter 在 Firestore 的 uid 文档中创建集合?

[英]How to create a collection inside a uid document in Firestore using Flutter?

如何使用 Flutter 基于动态 uid 在 Firestore 中创建子集合?

架构应该是这样的:用户(集合)--> UID(文档——每个用户唯一)--> 保险库(集合)--> 凭证(文档)

我目前正在使用下面的实现,显然在调用时它只是创建了我需要的架构,除了使用字符串“uid”代替用户的动态 uid 作为保管库集合所在的文档。如何更改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;

然后通过以下方式获取他们的保险库收藏:

final CollectionReference vaultCollection = Firestore.instance.collection('users').document(uid).collection('vault');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM