【问题标题】:how to compare user input data with my firestore record如何将用户输入数据与我的 Firestore 记录进行比较
【发布时间】:2020-05-04 09:12:26
【问题描述】:

我想将用户的输入数据与我的 Firestore 记录(已存储在我的 Firebase 中的数据)进行比较。

Task<QuerySnapshot> pLJava = CoRef
            .whereEqualTo("ProgrammingLanguages", "Java")
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        for (QueryDocumentSnapshot document : task.getResult()) {
                            // document.getData();
                            id = document.getId();
                            if (id.contains("Java")) {

                            }

我已经编写了一个算法来查询输入数据。现在我想将输入数据与我的 Firebase 记录进行比较。

感谢所有转发的帮助!

【问题讨论】:

  • 请明确提出您的问题。你有什么问题?您已经尝试了什么但失败了?
  • 请编辑您的问题并将您的数据库结构添加为屏幕截图并指明您想要获取的确切数据。请回复@AlexMamo

标签: java android firebase google-cloud-firestore


【解决方案1】:

只需将文档转换为 POJO。 Firestore API 中有一个方法 toObject(Class&lt;T&gt; valueType) 可以解决这个问题。

YourClass foo = document.toObject(YourClass.class);

然后,您可以将对象数据与用户输入的数据进行比较。

【讨论】:

  • 好主意,我正在尝试在我的代码中实现它,如果它有效,我会尽快通知您。谢谢!
  • @Massin_NYC 不客气。让我知道您是否解决了您的问题。 :)
  • 我将文档转换为对象。现在我想比较对象的输入。我应该为此使用哈希函数吗?
  • @Massin_NYC 否。编写一个函数,将您的对象作为参数。然后,在函数内部,将对象的字段与您的输入数据(仅对您重要的字段)进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多