基于Firestore请求中变量的颤振位置过滤器

时间:2020-04-04 16:05:01

标签: firebase flutter dart google-cloud-firestore firebase-authentication

我正在开发一个应用程序,该应用程序根据注册的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的应用中登录。

非常感谢您的帮助,现在让我烦了。

1 个答案:

答案 0 :(得分:1)

尝试以下操作:

getAnswers(AnswerNotifier answerNotifier) async {
  String userId = await id();
  QuerySnapshot snapshot = await Firestore.instance
      .collection('Questions')
      .where('UserID',isEqualTo: userId).getDocuments();

首先获取userId,然后在where()查询中使用结果。