Utilizzo di Get API per recuperare i dati

Utilizzare l'API GetRequest per recuperare una singola riga di dati utilizzando la chiave primaria.

Per impostazione predefinita, tutte le operazioni di lettura sono probabilmente coerenti. Questo tipo di lettura è meno costoso di quelli che utilizzano la coerenza assoluta. È possibile modificare la coerenza predefinita per un'istanza NoSQLHandle utilizzando il metodo setConsistency() nella classe Consistency.

La classe GetRequest fornisce un modo semplice e potente per leggere i dati, mentre le query possono essere utilizzate per richieste di lettura più complesse. Per leggere i dati da una tabella, specificare la tabella di destinazione e la chiave di destinazione utilizzando la classe GetRequest e utilizzare NoSQLHandle.get() per eseguire la richiesta. Il risultato dell'operazione è disponibile in GetResult. È possibile modificare la coerenza predefinita per un'istanza NoSQLHandle utilizzando i metodi NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency) e GetRequest.setConsistency().

Scarica il codice completo QueryData.java dagli esempi qui.
//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");
   }
}

Nota

Per recuperare i dati da una tabella figlio, specificare il nome completo della tabella (parent_tablename.child_tablename) nel metodo setTableName. Scaricare il codice completo TableJoins.java dagli esempi per comprendere come recuperare i dati da una tabella padre-figlio qui.

Utilizzare l'API GetRequest per recuperare una singola riga di dati utilizzando la chiave primaria. È possibile leggere righe singole utilizzando il metodo borneo.NoSQLHandle.get(). Questo metodo consente di recuperare un record in base al relativo valore di chiave primaria. La classe borneo.GetRequest viene utilizzata per operazioni get semplici. Contiene il valore della chiave primaria per la riga di destinazione e restituisce un'istanza di borneo.GetResult. È possibile modificare la coerenza predefinita per un borneo.NoSQLHandle utilizzando borneo.NoSQLHandleConfig.set_consistency() prima di creare l'handle. Può essere modificato per una singola richiesta utilizzando borneo.GetRequest.set_consistency().

Scarica il codice completo QueryData.py dagli esempi qui.
# 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()))

Nota

Per recuperare i dati da una tabella figlio, specificare il nome completo della tabella (parent_tablename.child_tablename) nel metodo set_table_name. Scaricare il codice completo TableJoins.py dagli esempi per comprendere come recuperare i dati da una tabella padre-figlio qui.

Utilizzare l'API GetRequest per recuperare una singola riga di dati utilizzando la chiave primaria. È possibile leggere righe singole utilizzando la funzione Client.Get. Questa funzione consente di recuperare un record in base al relativo valore di chiave primaria. nosqldb.GetRequest viene utilizzato per operazioni get semplici. Contiene il valore della chiave primaria per la riga di destinazione e restituisce un'istanza di nosqldb.GetResult. Se l'operazione get riesce, viene restituito un valore GetResult.Version diverso da zero. È possibile modificare la coerenza predefinita per un nosqldb.RequestConfig utilizzando RequestConfig.Consistency prima di creare il client. Può essere modificato per una singola richiesta utilizzando il campo GetRequest.Consistency.

Scarica il codice completo QueryData.go dagli esempi qui.
//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")
   }
}

Nota

Per recuperare i dati da una tabella figlio, specificare il nome completo della tabella (parent_tablename.child_tablename) nel parametro TableName. Scaricare il codice completo TableJoins.go dagli esempi per comprendere come recuperare i dati da una tabella padre-figlio qui.

Utilizzare l'API get per recuperare una singola riga di dati utilizzando la chiave primaria. È possibile leggere una singola riga utilizzando il metodo get. Questo metodo consente di recuperare un record in base al relativo valore di chiave primaria. Per ulteriori informazioni sul metodo, vedere la classe NoSQLClient.

Impostare la coerenza dell'operazione di lettura utilizzando l'enumerazione di coerenza. È possibile impostare la coerenza predefinita per le operazioni di lettura nella configurazione iniziale utilizzata per creare un'istanza NoSQLClient utilizzando la proprietà di coerenza. È inoltre possibile modificarla per una singola operazione di lettura impostando la proprietà di coerenza nell'argomento GetOpt del metodo get.

JavaScript: scarica il codice completo QueryData.js dagli esempi qui.
//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: è inoltre possibile fornire un parametro tipo facoltativo per una riga a get e ad altri metodi correlati ai dati. Il parametro type consente al compilatore TypeScript di fornire suggerimenti type per il metodo GetResult restituito e di controllare il tipo della chiave passata. Durante il controllo del tipo, il compilatore controlla se il campo della chiave primaria fa parte dello schema di tabella e se il tipo del campo della chiave primaria è uno dei tipi consentiti, ovvero stringa, numerico, data o booleano. Scarica il codice completo QueryData.ts dagli esempi qui.
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);
   }
}

Nota

Per recuperare i dati da una tabella figlio, specificare il nome completo della tabella (parent_tablename.child_tablename) nel parametro TABLE_NAME. Scarica il codice JavaScript completo TableJoins.js qui e il codice TypeScript completo TableJoins.ts qui per capire come recuperare i dati da una tabella padre-figlio.

Utilizzare l'API GET per recuperare una singola riga di dati utilizzando la chiave primaria. È possibile leggere una singola riga utilizzando il metodo GetAsync. Questo metodo consente di recuperare una riga in base al relativo valore di chiave primaria. I nomi dei campi devono essere uguali ai nomi delle colonne della chiave primaria della tabella. È inoltre possibile passare le opzioni come GetOptions.

È possibile impostare la coerenza di un'operazione di lettura utilizzando l'enumerazione di coerenza. La coerenza predefinita per le operazioni di lettura può essere impostata come proprietà di coerenza di NoSQLConfig. È inoltre possibile modificare la coerenza per una singola operazione Get utilizzando la proprietà Consistency di GetOptions. Il metodo GetAsync restituisce Task<GetResult<RecordValue>>. L'istanza GetResult contiene la riga restituita, la versione della riga e altre informazioni. Se la riga con la chiave primaria fornita non esiste nella tabella, i valori delle proprietà Riga e Versione saranno nulli.

Scarica il codice completo QueryData.cs dagli esempi qui.
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);
   }
}

Nota

Per recuperare i dati da una tabella figlio, specificare il nome completo della tabella (parent_tablename.child_tablename) nel parametro TableName. Scaricare il codice completo TableJoins.cs dagli esempi per comprendere come recuperare i dati da una tabella padre-figlio qui.