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

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

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

La classe GetRequest fournit un moyen simple et puissant de lire des données, tandis que les interrogations peuvent être utilisées pour des demandes de lecture plus complexes. Pour lire des données d'une table, indiquez la table cible et la clé cible à l'aide de la classe GetRequest et utilisez NoSQLHandle.get() pour exécuter la demande. Le résultat de l'opération est disponible dans GetResult. Vous pouvez modifier la cohérence par défaut pour 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");
   }
}

Note : Pour extraire des données d'une table enfant, spécifiez 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 rangée de données à l'aide de la clé primaire. Vous pouvez lire une seule rangée à l'aide de la méthode borneo.NoSQLHandle.get(). Cette méthode vous permet d'extraire un enregistrement en fonction de sa valeur de clé primaire. La classe borneo.GetRequest est utilisée pour les opérations d'obtention simple. Il contient la valeur de clé primaire de la rangée cible et retourne une instance de borneo.GetResult. Vous pouvez modifier la cohérence par défaut d'un 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()))

Note : Pour extraire des données d'une table enfant, spécifiez 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 rangée de données à l'aide de la clé primaire. Vous pouvez lire une seule rangée à 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 d'obtention simple. Il contient la valeur de clé primaire de la rangée cible et retourne une instance de nosqldb.GetResult. Si l'opération get réussit, une valeur GetResult.Version non nulle est retournée. Vous pouvez modifier la cohérence par défaut d'un 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")
   }
}

Note : Pour extraire des données d'une table enfant, spécifiez 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 rangée de données à l'aide de la clé primaire. Vous pouvez lire une seule rangée à l'aide de la méthode get. Cette méthode vous permet d'extraire un enregistrement en fonction de sa valeur de clé primaire. Pour plus de détails sur la méthode, voir 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 facultatif de type pour une rangée à get et à d'autres méthodes liées aux données. Le paramètre type permet au compilateur TypeScript de fournir des conseils de type pour la méthode GetResult retournée, ainsi que de vérifier la clé transmise. Lors de la vérification du 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 est l'un des types autorisés, c'est-à-dire une chaîne, un nombre, une date ou une valeur booléenne. 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);
   }
}

Note : Pour extraire des données d'une table enfant, spécifiez 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 rangée de données à l'aide de la clé primaire. Vous pouvez lire une seule rangée à 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 la table. Vous pouvez également transmettre les 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 pour les 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 retourne Task<GetResult<RecordValue>>. L'instance GetResult contient la rangée retournée, la version de rangée et d'autres informations. Si la rangée avec la clé primaire fournie n'existe pas dans la table, les valeurs des propriétés de rangée et de version seront nulles.

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);
   }
}

Note : Pour extraire des données d'une table enfant, spécifiez 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.