Utilisation de l'API Get pour extraire des données

Utilisez l'API GetRequest pour extraire une seule ligne de données à l'aide de la clé primaire.

Par défaut, toutes les opérations de lecture sont cohérentes à terme. Ce type de lecture est moins coûteux que ceux utilisant la cohérence absolue. Vous pouvez modifier la cohérence par défaut d'une instance NoSQLHandle à l'aide de la méthode setConsistency() dans la classe Consistency.

La classe GetRequest permet de lire des données de manière simple et efficace, tandis que vous pouvez utiliser des requêtes pour des demandes de lecture plus complexes. Pour lire les données d'une table, spécifiez la table cible et la clé cible à l'aide de la classe GetRequest, et utilisez NoSQLHandle.get() pour exécuter votre demande. Le résultat de l'opération est disponible dans GetResult. Vous pouvez modifier la cohérence par défaut d'une instance NoSQLHandle à l'aide des méthodes NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency) et GetRequest.setConsistency().

Téléchargez le code complet QueryData.java à partir des exemples ici.
//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");
   }
}

Remarques :

Pour extraire des données à partir d'une table enfant, indiquez le nom complet de la table (parent_tablename.child_tablename) dans la méthode setTableName. Téléchargez le code complet TableJoins.java à partir des exemples pour comprendre comment extraire des données d'une table parent-enfant ici.

Utilisez l'API GetRequest pour extraire une seule ligne de données à l'aide de la clé primaire. Vous pouvez lire des lignes uniques à l'aide de la méthode borneo.NoSQLHandle.get(). Vous pouvez ainsi extraire un enregistrement en fonction de sa valeur de clé primaire. La classe borneo.GetRequest est utilisée pour les opérations get simples. Il contient la valeur de clé primaire de la ligne cible et renvoie une instance de borneo.GetResult. Vous pouvez modifier la cohérence par défaut d'un élément borneo.NoSQLHandle à l'aide de borneo.NoSQLHandleConfig.set_consistency() avant de créer le descripteur. Il peut être modifié pour une seule demande à l'aide de borneo.GetRequest.set_consistency().

Téléchargez le code complet QueryData.py à partir des exemples ici.
# 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()))

Remarques :

Pour extraire des données à partir d'une table enfant, indiquez le nom complet de la table (parent_tablename.child_tablename) dans la méthode set_table_name. Téléchargez le code complet TableJoins.py à partir des exemples pour comprendre comment extraire des données d'une table parent-enfant ici.

Utilisez l'API GetRequest pour extraire une seule ligne de données à l'aide de la clé primaire. Vous pouvez lire des lignes uniques à l'aide de la fonction Client.Get. Cette fonction vous permet d'extraire un enregistrement en fonction de sa valeur de clé primaire. nosqldb.GetRequest est utilisé pour les opérations get simples. Il contient la valeur de clé primaire de la ligne cible et renvoie une instance de nosqldb.GetResult. Si l'opération get réussit, une valeur GetResult.Version non nulle est renvoyée. Vous pouvez modifier la cohérence par défaut d'un élément nosqldb.RequestConfig à l'aide de RequestConfig.Consistency avant de créer le client. Il peut être modifié pour une seule demande à l'aide du champ GetRequest.Consistency.

Téléchargez le code complet QueryData.go à partir des exemples ici.
//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")
   }
}

Remarques :

Pour extraire des données à partir d'une table enfant, indiquez le nom complet de la table (parent_tablename.child_tablename) dans le paramètre TableName. Téléchargez le code complet TableJoins.go à partir des exemples pour comprendre comment extraire des données d'une table parent-enfant ici.

Utilisez l'API get pour extraire une seule ligne de données à l'aide de la clé primaire. Vous pouvez lire une seule ligne à l'aide de la méthode get. Vous pouvez ainsi extraire un enregistrement en fonction de sa valeur de clé primaire. Pour plus d'informations sur les méthodes, reportez-vous à la classe NoSQLClient.

Définissez la cohérence de l'opération de lecture à l'aide de l'énumération de cohérence. Vous pouvez définir la cohérence par défaut pour les opérations de lecture dans la configuration initiale utilisée pour créer une instance NoSQLClient à l'aide de la propriété de cohérence. Vous pouvez également la modifier pour une seule opération de lecture en définissant la propriété de cohérence dans l'argument GetOpt de la méthode get.

JavaScript : téléchargez le code complet QueryData.js à partir des exemples ici.
//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 : vous pouvez également fournir un paramètre de type facultatif pour une ligne à get et à d'autres méthodes liées aux données. Le paramètre type permet au compilateur TypeScript de fournir des conseils type pour la méthode GetResult renvoyée, ainsi que de vérifier la clé transmise. Lors de la vérification de type, le compilateur vérifie si le champ de clé primaire fait partie du schéma de table et si le type du champ de clé primaire fait partie des types autorisés, à savoir chaîne, numérique, date ou booléen. Téléchargez le code complet QueryData.ts à partir des exemples ici.
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);
   }
}

Remarques :

Pour extraire des données à partir d'une table enfant, indiquez le nom complet de la table (parent_tablename.child_tablename) dans le paramètre TABLE_NAME. Téléchargez le code JavaScript complet TableJoins.js ici et le code TypeScript complet TableJoins.ts ici pour comprendre comment extraire des données d'une table parent-enfant.

Utilisez l'API GET pour extraire une seule ligne de données à l'aide de la clé primaire. Vous pouvez lire une seule ligne à l'aide de la méthode GetAsync. Cette méthode vous permet d'extraire une ligne en fonction de sa valeur de clé primaire. Les noms de champ doivent être identiques aux noms de colonne de clé primaire de table. Vous pouvez également transmettre des options en tant que GetOptions.

Vous pouvez définir la cohérence d'une opération de lecture à l'aide de l'énumération de cohérence. La cohérence par défaut des opérations de lecture peut être définie en tant que propriété de cohérence de NoSQLConfig. Vous pouvez également modifier la cohérence d'une seule opération Get à l'aide de la propriété Consistency de GetOptions. La méthode GetAsync renvoie Task<GetResult<RecordValue>>. L'instance GetResult contient la ligne renvoyée, la version de ligne et d'autres informations. Si la ligne avec la clé primaire fournie n'existe pas dans la table, les valeurs des propriétés Ligne et Version seront NULL.

Téléchargez le code complet QueryData.cs à partir des exemples ici.
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);
   }
}

Remarques :

Pour extraire des données à partir d'une table enfant, indiquez le nom complet de la table (parent_tablename.child_tablename) dans le paramètre TableName. Téléchargez le code complet TableJoins.cs à partir des exemples pour comprendre comment extraire des données d'une table parent-enfant ici.