2017-12-18 17 views
0

GoogleInfoテーブルを使用します。そのテーブルには、アプリケーションのスコープが格納されます。たとえば「https://www.googleapis.com/auth/drive.appdata,https://www.googleapis.com/auth/drive.file」 となりました。スコープから「ドライブ」のようなキーワードに基づいて結果を得ようとしていますが、そのキーワードに基づいて結果を得ようとしています。以下は私のコードです。提案してください。Google App Engineを使用して特定のキーワードに基づいて結果を得る方法JavaでNO-SQLデータストアクエリ?

String keywords[] = {"admin","drive","gmail","userinfo"}; 

Query query = pm.newQuery("SELECT scopes FROM com.cloudcodes.gcontrol.dataaccesslayer.insights.google.drive.GoogleInfo where :p.contains(scopes)"); 

result = (List) query.execute(Arrays.asList(keywords)); 
List tempResult = new ArrayList(); 
tempResult.addAll(result); 
return tempResult; 

答えて

0

あなたがJDO [1]とPersistanceManager [2]を使用しているようです。

実行しようとしているクエリが間違っていることがわかります。 JDO [3]でクエリを実行する方法を確認してください。

あなたのクエリは次のとおりです。

//Query for all persons with lastName equal to Smith or Jones 
Query q = pm.newQuery(Person.class, ":p.contains(lastName)"); 
q.execute(Arrays.asList("Smith", "Jones")); 
Person.class is the kind 
Arrays.asList("Smith", "Jones") 

このパラメータ "::p.contains(lastNameの)" lastNameのを定義し、私たちが望む性質であるあなたのような何かをしたいよう

String keywords[] = {"admin","drive","gmail","userinfo"}; 
Query query = pm.newQuery("SELECT scopes FROM com.cloudcodes.gcontrol.dataaccesslayer.insights.google.drive.GoogleInfo where :p.contains(scopes)"); 
result = (List) query.execute(Arrays.asList(keywords)); 

が見えますチェックする。 クラスをcom.cloudcodes.gcontrol.dataaccesslayer.insights.google.drive.GoogleInfoとして設定していますが、これはクラスが習慣的で、クラス名がGoogleInfoである完全なJava名パッケージであると思います。だからあなたは試してみることができます:

Query q = pm.newQuery(GoogleInfo.class, ":p.contains(scopes)"); 
q.execute(Arrays.asList("admin","drive","gmail","userinfo")); 

スコープを取得します。私はあなたがREST APIを使いたいと思っています。したがって、内部:p.contains( "スコープ")は、取得したいエンティティにあるキーワードに関連する別のプロパティ、おそらく配列プロパティになる可能性がありますか?

ここで私は役に立つかもしれないいくつかのドキュメントを共有します[4] [5]。

希望すると便利です。

[1] https://cloud.google.com/appengine/docs/standard/java/datastore/jdo/overview-dn2

[2] http://massapi.com/method/javax/jdo/PersistenceManager.newQuery-4.html

[3] https://cloud.google.com/appengine/docs/standard/java/datastore/jdo/queries

[4] https://cloud.google.com/datastore/docs/concepts/overview#comparison_with_traditional_databases

[5] https://cloud.google.com/datastore/docs/reference/gql_reference

関連する問題