我正在开发一个应用程序,该应用程序根据注册的Userid从我的Firestore请求某些元素。
现在,我正在尝试构建与此相关的通告程序,但是在将过滤器放入Firestore请求中时,它以某种方式会中断
<h1 class ="card-header"> Log IN </h1>
<%= form_for :session, url: sessions_path do |f| %>
<div class="form-group">
<%= f.label :uid %>
<%= f.text_field :uid %>
</div>
<div class="form-group">
<%= f.label :role %>
<%= f.text_field :password %>
</div>
<div class="form-group">
<%= submit_tag 'Log In' %>
</div>
<% end %>
</div>
在我看来,这应该是获取当前用户ID,然后基于该用户ID仅收集与UserID列匹配的问题。
如果我在我的代码中手动输入UserID,这将很好地工作,但是从id()请求当前用户ID的那一刻,它找不到任何匹配的问题。因此,我在应用程序中的问题列表为空,在这里也有我的_answerList。
用户此时已在调用此Answernotifier的应用中登录。
非常感谢您的帮助,现在让我烦了。
答案 0 :(得分:1)
尝试以下操作:
getAnswers(AnswerNotifier answerNotifier) async {
String userId = await id();
QuerySnapshot snapshot = await Firestore.instance
.collection('Questions')
.where('UserID',isEqualTo: userId).getDocuments();
首先获取userId
,然后在where()
查询中使用结果。