Uso de la API Get para recuperar datos
Utilice la API GetRequest
para recuperar una sola fila de datos mediante la clave primaria.
Por defecto, todas las operaciones de lectura son finalmente coherentes. Este tipo de lectura es menos costoso que aquellos que utilizan consistencia absoluta. Puede cambiar la consistencia por defecto para una instancia NoSQLHandle mediante el método setConsistency()
en la clase Consistency
.
La clase GetRequest
proporciona una forma sencilla y potente de leer datos, mientras que las consultas se pueden utilizar para solicitudes de lectura más complejas. Para leer datos de una tabla, utilice la clase GetRequest
y NoSQLHandle.get()
para ejecutar la solicitud para especificar la tabla de destino y la clave de destino. El resultado de la operación está disponible en GetResult
. Puede cambiar la coherencia por defecto de una instancia NoSQLHandle mediante los métodos NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency)
y GetRequest.setConsistency()
.
//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:
Para recuperar datos de una tabla secundaria, especifique el nombre completo de la tabla (parent_tablename.child_tablename) en el métodosetTableName
. Descargue el código completo TableJoins.java de los ejemplos para saber cómo recuperar datos de una tabla principal-secundaria aquí.
Utilice la API GetRequest
para recuperar una sola fila de datos mediante la clave primaria. Puede leer filas únicas mediante el método borneo.NoSQLHandle.get()
. Este método permite recuperar un registro basado en su valor de clave primaria. La clase borneo.GetRequest
se utiliza para operaciones de obtención simples. Contiene el valor de clave primaria para la fila de destino y devuelve una instancia de borneo.GetResult
. Puede cambiar la consistencia por defecto para borneo.NoSQLHandle
mediante borneo.NoSQLHandleConfig.set_consistency()
antes de crear el manejador. Se puede cambiar para una sola solicitud mediante borneo.GetRequest.set_consistency()
.
# 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:
Para recuperar datos de una tabla secundaria, especifique el nombre completo de la tabla (parent_tablename.child_tablename) en el métodoset_table_name
. Descargue el código completo TableJoins.py de los ejemplos para saber cómo recuperar datos de una tabla principal-secundaria aquí.
Utilice la API GetRequest
para recuperar una sola fila de datos mediante la clave primaria. Puede leer filas únicas mediante la función Client.Get
. Esta función permite recuperar un registro basado en su valor de clave primaria. nosqldb.GetRequest
se utiliza para operaciones de obtención simples. Contiene el valor de clave primaria para la fila de destino y devuelve una instancia de nosqldb.GetResult
. Si la operación de obtención se realiza correctamente, se devuelve un valor GetResult.Version
no nulo. Puede cambiar la consistencia por defecto para nosqldb.RequestConfig
mediante RequestConfig.Consistency
antes de crear el cliente. Se puede cambiar para una sola solicitud mediante el campo GetRequest.Consistency
.
//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:
Para recuperar datos de una tabla secundaria, especifique el nombre completo de la tabla (parent_tablename.child_tablename) en el parámetroTableName
. Descargue el código completo TableJoins.go de los ejemplos para saber cómo recuperar datos de una tabla principal-secundaria aquí.
Utilice la API get
para recuperar una sola fila de datos mediante la clave primaria. Puede leer una sola fila mediante el método get
. Este método permite recuperar un registro basado en su valor de clave primaria. Para obtener detalles sobre el método, consulte la clase NoSQLClient.
Defina la consistencia de la operación de lectura mediante la enumeración de consistencia. Puede definir la consistencia por defecto para operaciones de lectura en la configuración inicial que se utiliza para crear una instancia NoSQLClient mediante la propiedad de consistencia. También puede cambiarla para una única operación de lectura definiendo la propiedad de consistencia en el argumento GetOpt del método get.
//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);
}
}
get
y otros métodos relacionados con los datos. El parámetro type permite al compilador TypeScript proporcionar indicaciones de type para el método GetResult
devuelto, así como comprobar la clave transferida. Al comprobar el tipo, el compilador inspecciona si el campo de clave primaria forma parte del esquema de tabla y si el tipo del campo de clave primaria es uno de los tipos permitidos, es decir, cadena, numérico, fecha o booleano. Descargue el código completo QueryData.ts de los ejemplos aquí.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:
Para recuperar datos de una tabla secundaria, especifique el nombre completo de la tabla (parent_tablename.child_tablename) en el parámetroTABLE_NAME
. Descargue el código JavaScript completo TableJoins.js aquí y el código TypeScript completo TableJoins.ts aquí para saber cómo recuperar datos de una tabla principal-secundaria.
Utilice la API GET para recuperar una sola fila de datos mediante la clave primaria. Puede leer una sola fila mediante el método GetAsync
. Este método permite recuperar una fila basada en su valor de clave primaria. Los nombres de campo deben ser los mismos que los nombres de columna de clave primaria de la tabla. También puede transferir opciones como GetOptions
.
Puede definir la consistencia de una operación de lectura mediante la enumeración de consistencia. La consistencia por defecto para las operaciones de lectura se puede definir como propiedad Consistency de NoSQLConfig
. También puede cambiar la consistencia de una única operación Get mediante la propiedad Consistency de GetOptions
. El método GetAsync
devuelve Task<GetResult<RecordValue>>
. La instancia GetResult
contiene la fila devuelta, la versión de fila y otra información. Si la fila con la clave primaria proporcionada no existe en la tabla, los valores de las propiedades Fila y Versión serán nulos.
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:
Para recuperar datos de una tabla secundaria, especifique el nombre completo de la tabla (parent_tablename.child_tablename) en el parámetroTableName
. Descargue el código completo TableJoins.cs de los ejemplos para saber cómo recuperar datos de una tabla principal-secundaria aquí.