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 enumeration을 사용하여 읽기 작업의 일관성을 설정합니다. 정합성 보장 속성을 사용하여 NoSQLClient 인스턴스를 생성하는 데 사용되는 초기 구성에서 읽기 작업에 대한 기본 정합성을 설정할 수 있습니다. 또한 get 메소드의 GetOpt 인수에서 consistency 속성을 설정하여 단일 읽기 작업에 대해 이 속성을 변경할 수도 있습니다.

JavaScript: 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 매개변수를 사용하면 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를 사용하여 primary key를 사용하여 단일 데이터 행을 패치(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를 다운로드하여 여기서 상위-하위 테이블에서 데이터를 인출하는 방법을 이해합니다.