如何使用firestore在当前用户文档中添加数据?

Posted

技术标签:

【中文标题】如何使用firestore在当前用户文档中添加数据?【英文标题】:How add data in current user document with flutter using firestore? 【发布时间】:2019-07-15 00:29:54 【问题描述】:
Future<DocumentReference> getUserDoc() async 
 final FirebaseAuth _auth = FirebaseAuth.instance;
 final Firestore _firestore = Firestore.instance;

 FirebaseUser user = await _auth.currentUser();
 DocumentReference ref = _firestore.collection('users').document(user.uid);
 return ref;

我无法在文档中添加数据。

这是我在 Firestore 中输入数据的代码。请帮忙,我是 Flutter 的新手

return ref.setData(data);

错误是

返回类型 'Future' 不是 'Future',由方法 'getUserDoc'.dart(return_of_invalid_type) 定义

【问题讨论】:

【参考方案1】:

这应该可行:

  Future<void> getUserDoc() async 
    final FirebaseAuth _auth = FirebaseAuth.instance;
    final Firestore _firestore = Firestore.instance;

    FirebaseUser user = await _auth.currentUser();
    DocumentReference ref = _firestore.collection('users').document(user.uid);
    return ref.setData('UID': user.uid);
  

【讨论】:

什么不起作用?运行上述功能后 - 云火存储上的数据未更新。? 它有效,但在文档中删除了所有以前的数据,只存储了用户 ID。 setData 将删除现有文档并创建一个新的用户ID。 然后代替setData - 使用updateData @richie

以上是关于如何使用firestore在当前用户文档中添加数据?的主要内容,如果未能解决你的问题,请参考以下文章

颤振 |如何将数据添加到 Firestore 中的现有文档

获取值不在数组中的 Firestore 文档

获取值不在数组中的 Firestore 文档

如何限制对 Firestore 中用户拥有的文档的写入?

如何按文档 ID 从 Firebase Firestore 获取数据 - iOS?

当文档ID等于Flutter中当前记录的用户ID时获取firestore数据?