2017-12-18 32 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라고 가정합니다. 따라서 시도해 볼 수 있습니다 :

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

범위를 검색하려고합니다. REST API를 사용하려고한다고 가정합니다. 그래서 내부 : p.contains ("scope")는 당신이 검색하고자하는 Entity에있는 keyWords와 관련된 또 다른 속성을 가집니까, 어쩌면 배열 속성입니까?

유용한 정보가있는 문서를 공유합니다. [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