私は、ユーザー入力が、私のfirestoreデータベース内の文書である部分文字列を含んでいる、これはJavaで可能であるかどうかを確認したいですか?(Androidのスタジオ)

ルチアーノの必要があります。

次のコードでは、「質問」は、ユーザーの音声入力で作成された文字列変数です。この質問は私のfirebaseクラウドfirestoreでの文書IDと比較されます。

public void setAnswer(String question){
        FirebaseFirestore JLdatabase = FirebaseFirestore.getInstance();

        DocumentReference docRef = JLdatabase.collection("Products").document(question);
        docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {
                    DocumentSnapshot document = task.getResult();
                    if (document.exists()) {
                        textViewAnswer.setText(document.getString("location"));
                    } else {
                        textViewAnswer.setText("I can't help you with this yet");
                    }
                } else {
                    textViewAnswer.setText("Oeps. Something went wrong");
                }
            }
        });


質問は、文書IDとまったく同じである場合、それは動作しますが、わずかに異なる時間の何かのほとんどは言われます。今私はのは、マイドキュメントIDの1に等しいという問題の単語/単語の組み合わせがあるかどうかを確認したいです。これは、Javaで可能ですか?私は、ウェブ上でこのような何かを見つけることができませんでした。

このような問題を解決するためのより良い方法がある場合。私はここにしたいと思います!

アレックス・マモ:

質問は、文書IDとまったく同じである場合、それは動作します

あなたはその正確なIDを持つ文書を指しているので、それは動作します。

今私はのは、マイドキュメントIDの1に等しいという問題の単語/単語の組み合わせがあるかどうかを確認したいです。

残念ながら、あなたは文書IDでストリングを検索するためのクエリを作成することができます方法はありません。あなたが持っている唯一のオプションは保持できるString型のプロパティを作成することでquestion、次のポストから私の答えで見つけることができます私のソリューションのいずれかを使用してクエリを実行します:

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=389902&siteId=1