Get API를 사용하여 데이터 인출

GetRequest API를 사용하여 기본 키를 사용하여 단일 데이터 행을 인출합니다.

기본적으로 모든 읽기 작업은 결국 일관성이 있습니다. 이러한 유형의 읽기는 절대 일관성을 사용하는 읽기보다 비용이 적게 듭니다. Consistency 클래스의 setConsistency() 메소드를 사용하여 NoSQLHandle 인스턴스에 대한 기본 일관성을 변경할 수 있습니다.

GetRequest 클래스는 데이터를 읽을 수 있는 간단하고 강력한 방법을 제공하며 보다 복잡한 읽기 요청에 질의를 사용할 수 있습니다. 테이블에서 데이터를 읽으려면 GetRequest 클래스를 사용하여 대상 테이블 및 대상 키를 지정하고 NoSQLHandle.get()를 사용하여 요청을 실행합니다. 작업의 결과는 GetResult에서 확인할 수 있습니다. NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency)GetRequest.setConsistency() 메소드를 사용하여 NoSQLHandle 인스턴스에 대한 기본 일관성을 변경할 수 있습니다.

QueryData.java 예제에서 전체 코드 를 다운로드하십시오.
//Fetch single row using get API
private static void getRow(NoSQLHandle handle,String colName,int Id) throws Exception {
   MapValue key = new MapValue().put(colName, Id);
   GetRequest getRequest = new GetRequest().setKey(key)
                                        .setTableName(tableName);
   GetResult getRes = handle.get(getRequest);
   /* on success, GetResult.getValue() returns a non-null value */
   if (getRes.getValue() != null) {
      System.out.println("\t" +getRes.getValue().toString());
   } else {
      System.out.println("Get Failed");
   }
}

주:

하위 테이블에서 데이터를 인출하려면 setTableName 메소드에서 테이블의 전체 이름(parent_tablename.child_tablename)을 지정합니다. 예제에서 전체 코드 TableJoins.java를 다운로드하여 여기에서 상위-하위 테이블에서 데이터를 인출하는 방법을 이해하십시오.

GetRequest API를 사용하여 기본 키를 사용하여 단일 데이터 행을 인출합니다. borneo.NoSQLHandle.get() 메소드를 사용하여 단일 행을 읽을 수 있습니다. 이 방법을 사용하면 기본 키 값을 기준으로 레코드를 검색할 수 있습니다. borneo.GetRequest 클래스는 단순 get 작업에 사용됩니다. 대상 행에 대한 기본 키 값을 포함하고 borneo.GetResult 인스턴스를 반환합니다. 핸들을 만들기 전에 borneo.NoSQLHandleConfig.set_consistency()를 사용하여 borneo.NoSQLHandle에 대한 기본 일관성을 변경할 수 있습니다. borneo.GetRequest.set_consistency()를 사용하여 단일 요청에 대해 변경할 수 있습니다.

QueryData.py 예제에서 전체 코드 를 다운로드하십시오.
# Fetch single row using get API
def getRow(handle,colName,Id):
  request = GetRequest().set_table_name('stream_acct')
  request.set_key({colName: Id})
  print('Query results: ')
  result = handle.get(request)
  print('Query results are' + str(result.get_value()))

주:

하위 테이블에서 데이터를 인출하려면 set_table_name 메소드에서 테이블의 전체 이름(parent_tablename.child_tablename)을 지정합니다. 예제에서 전체 코드 TableJoins.py를 다운로드하여 여기에서 상위-하위 테이블에서 데이터를 인출하는 방법을 이해하십시오.

GetRequest API를 사용하여 기본 키를 사용하여 단일 데이터 행을 인출합니다. Client.Get 함수를 사용하여 단일 행을 읽을 수 있습니다. 이 기능을 사용하면 기본 키 값을 기준으로 레코드를 검색할 수 있습니다. nosqldb.GetRequest는 단순 get 작업에 사용됩니다. 대상 행에 대한 기본 키 값을 포함하고 nosqldb.GetResult 인스턴스를 반환합니다. get 작업이 성공하면 nil이 아닌 GetResult.Version가 반환됩니다. 클라이언트를 생성하기 전에 RequestConfig.Consistency를 사용하여 nosqldb.RequestConfig에 대한 기본 일관성을 변경할 수 있습니다. GetRequest.Consistency 필드를 사용하여 단일 요청에 대해 변경할 수 있습니다.

QueryData.go 예제에서 전체 코드 를 다운로드하십시오.
//fetch data from the table
func getRow(client *nosqldb.Client, err error, tableName string, colName string, Id int)(){
	key:=&types.MapValue{}
   key.Put(colName, Id)
   req:=&nosqldb.GetRequest{
         TableName: tableName,
         Key: key,
   }
   res, err:=client.Get(req)
   if err != nil {
      fmt.Printf("GetResults() failed: %v\n", err)
      return
   }
   if res.RowExists() {
      fmt.Printf("Got row: %v\n", res.ValueAsJSON())
   } else {
      fmt.Printf("The row does not exist.\n")
   }
}

주:

하위 테이블에서 데이터를 인출하려면 TableName 매개변수에 테이블의 전체 이름(parent_tablename.child_tablename)을 지정합니다. 예제에서 전체 코드 TableJoins.go를 다운로드하여 여기에서 상위-하위 테이블에서 데이터를 인출하는 방법을 이해하십시오.

get API를 사용하여 기본 키를 사용하여 단일 데이터 행을 인출합니다. get 메소드를 사용하여 단일 행을 읽을 수 있습니다. 이 방법을 사용하면 기본 키 값을 기준으로 레코드를 검색할 수 있습니다. 메소드 세부 정보는 NoSQLClient 클래스를 참조하십시오.

일관성 열거를 사용하여 읽기 작업의 일관성을 설정합니다. Consistency 등록 정보를 사용하여 NoSQLClient 인스턴스를 만드는 데 사용되는 초기 구성에서 읽기 작업에 대한 기본 Consistency를 설정할 수 있습니다. get 메소드의 GetOpt 인수에서 Consistency 속성을 설정하여 단일 읽기 작업에 대해서도 이 속성을 변경할 수 있습니다.

JavaScript: QueryData.js 예제에서 QueryData.js 전체 코드를 다운로드합니다.
//fetches single row with get API
async function getRow(handle,idVal) {
   try {
      const result = await handle.get(TABLE_NAME,{acct_Id: idVal });
      console.log('Got row:  %O', result.row);
   } catch(error) {
      console.error('  Error: ' + error.message);
   }
}
TypeScript: get 및 기타 데이터 관련 메소드에 행에 대한 선택적 type 매개변수를 제공할 수도 있습니다. type 매개변수를 사용하면 TypeScript 컴파일러가 반환된 GetResult 메소드에 대한 type 힌트를 제공하고 전달된 키를 유형 검사할 수 있습니다. type 검사를 수행하는 동안 컴파일러는 primary key 필드가 테이블 스키마의 일부인지 여부와 primary key 필드의 type이 허용되는 types 중 하나(문자열, 숫자, 날짜 또는 부울)인지 여부를 검사합니다. QueryData.ts 예제에서 전체 코드 를 다운로드하십시오.
interface StreamInt {
   acct_Id: Integer;
   profile_name: String;
   account_expiry: TIMESTAMP;
   acct_data: JSON;
}
/*fetches single row with get API*/
async function getRow(handle: NoSQLClient,idVal: Integer) {
   try {
      const result = await handle.get<StreamInt>(TABLE_NAME,{acct_Id: idVal });
      console.log('Got row:  %O', result.row);
   } catch(error) {
      console.error('  Error: ' + error.message);
   }
}

주:

하위 테이블에서 데이터를 인출하려면 TABLE_NAME 매개변수에 테이블의 전체 이름(parent_tablename.child_tablename)을 지정합니다. TableJoins.js여기의 전체 JavaScript 코드와 TableJoins.ts여기의 전체 TypeScript 코드를 다운로드하여 상위-하위 테이블에서 데이터를 인출하는 방법을 알아보십시오.

GET API를 사용하여 기본 키를 사용하여 단일 데이터 행을 패치(fetch)합니다. GetAsync 메소드를 사용하여 단일 행을 읽을 수 있습니다. 이 메소드를 사용하여 primary key 값을 기반으로 행을 검색할 수 있습니다. 필드 이름은 테이블 기본 키 열 이름과 동일해야 합니다. GetOptions로 옵션을 전달할 수도 있습니다.

일관성 열거를 사용하여 읽기 작업의 일관성을 설정할 수 있습니다. 읽기 작업에 대한 기본 일관성은 NoSQLConfig의 Consistency 속성으로 설정할 수 있습니다. GetOptions의 Consistency 속성을 사용하여 단일 Get 작업에 대한 일관성을 변경할 수도 있습니다. GetAsync 메소드는 Task<GetResult<RecordValue>>를 반환합니다. GetResult 인스턴스에는 반환된 행, 행 버전 및 기타 정보가 포함됩니다. 제공된 기본 키를 가진 행이 테이블에 존재하지 않으면 행 및 버전 속성의 값이 널이 됩니다.

QueryData.cs 예제에서 전체 코드 를 다운로드하십시오.
private static async Task getRow(NoSQLClient client,String colName, int Id){
   var result = await client.GetAsync(TableName,
         new MapValue
         {
             [colName] =Id
         });
   if (result.Row != null){
      Console.WriteLine("Got row: {0}\n", result.Row.ToJsonString());
   }
   else {
      Console.WriteLine("Row with primaryKey {0} doesn't exist",colName);
   }
}

주:

하위 테이블에서 데이터를 인출하려면 TableName 매개변수에 테이블의 전체 이름(parent_tablename.child_tablename)을 지정합니다. 예제에서 전체 코드 TableJoins.cs를 다운로드하여 여기에서 상위-하위 테이블에서 데이터를 인출하는 방법을 이해하십시오.