代码之家  ›  专栏  ›  技术社区  ›  Hello World

查询数据库Firebase Firestore

  •  0
  • Hello World  · 技术社区  · 8 年前

    我想在Firestore中查询数据并将查询数据保存到领域,但总是出错。我认为问题是我在创建领域对象之后得到了查询结果。任何人都知道如何处理这个问题,我不知道如何解决这个问题。

    这是我的密码

        collectionReference = db.collection("Lookup");
        Query query = collectionReference.whereEqualTo("email", email );
    
        Log.d("Initial Lookup: ", "begin");
        Log.d("Initial Lookup: ", email);
    
        query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                Log.d("Doc Snapshot: ", "Complete Query!");
                if(task.isSuccessful()){
                    Log.d("Doc Snapshot: ", "Success Query!");
                    int i = 0;
                    for(QueryDocumentSnapshot doc: task.getResult()){
                        Log.d("Doc Snapshot: ", "-----------------------");
                        Log.d("Doc Snapshot: ", "" + doc.getData());
                        i++;
    
                        Realm realm = Realm.getDefaultInstance();
    
                        realm.beginTransaction();
                        LookupModel model = realm.createObject(LookupModel.class);
                        model.setEmail(email);
                        model.setId(String.valueOf(doc.getData().get("id")) );
                        Log.d("id", String.valueOf(doc.getData().get("id")) );
                        model.setSimkey(Simkey);
                        Log.d("key", Simkey);
                        realm.commitTransaction();
                    }
                    Log.d("Document Query Count: ", "" + i);
                } else{
                    Log.d("Error Snapshot: ", String.valueOf(task.getException()) );
                }
            }
    
        });
        realm = Realm.getDefaultInstance();
        LookupModel mod = realm.where(LookupModel.class)
                .equalTo("simkey", key)
                .findFirst();
        String id = mod.getId();
    

    String id = mod.getId();
    
    0 回复  |  直到 8 年前