Usando Obter API para extrair dados
Use a API GetRequest
para extrair uma única linha de dados usando a chave primária.
Por padrão, todas as operações de leitura são eventualmente consistentes. Esse tipo de leitura é menos dispendioso do que aqueles que usam consistência absoluta. Você pode alterar a Consistência padrão de uma instância NoSQLHandle usando o método setConsistency()
na classe Consistency
.
A classe GetRequest
oferece uma forma simples e eficiente de ler dados, enquanto as consultas podem ser usadas para solicitações de leitura mais complexas. Para ler dados de uma tabela, especifique a tabela de destino e a chave de destino usando a classe GetRequest
e use NoSQLHandle.get()
para executar sua solicitação. O resultado da operação está disponível em GetResult
. Você pode alterar a Consistência padrão de uma instância do NoSQLHandle usando os métodos NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency)
e 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");
}
}
Observação:
Para extrair dados de uma tabela filho, especifique o nome completo da tabela (parent_tablename.child_tablename) no métodosetTableName
. Faça download do código completo TableJoins.java dos exemplos para entender como extrair dados de uma tabela pai-filho aqui.
Use a API GetRequest
para extrair uma única linha de dados usando a chave primária. Você pode ler linhas únicas usando o método borneo.NoSQLHandle.get()
. Esse método permite recuperar um registro com base em seu valor de chave primária. A classe borneo.GetRequest
é usada para operações de obtenção simples. Ele contém o valor da chave primária para a linha de destino e retorna uma instância de borneo.GetResult
. Você pode alterar a Consistência padrão de um borneo.NoSQLHandle
usando borneo.NoSQLHandleConfig.set_consistency()
antes de criar o handle. Ela pode ser alterada para uma única solicitação usando 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()))
Observação:
Para extrair dados de uma tabela filho, especifique o nome completo da tabela (parent_tablename.child_tablename) no métodoset_table_name
. Faça download do código completo TableJoins.py dos exemplos para entender como extrair dados de uma tabela pai-filho aqui.
Use a API GetRequest
para extrair uma única linha de dados usando a chave primária. Você pode ler linhas únicas usando a função Client.Get
. Essa função permite recuperar um registro com base em seu valor de chave primária. O nosqldb.GetRequest
é usado para operações de obtenção simples. Ele contém o valor da chave primária para a linha de destino e retorna uma instância de nosqldb.GetResult
. Se a operação get for bem-sucedida, um GetResult.Version
não nulo será retornado. Você pode alterar a Consistência padrão de um nosqldb.RequestConfig
usando RequestConfig.Consistency
antes de criar o cliente. Ela pode ser alterada para uma única solicitação usando o 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")
}
}
Observação:
Para extrair dados de uma tabela filho, especifique o nome completo da tabela (parent_tablename.child_tablename) no parâmetroTableName
. Faça download do código completo TableJoins.go dos exemplos para entender como extrair dados de uma tabela pai-filho aqui.
Use a API get
para extrair uma única linha de dados usando a chave primária. Você pode ler uma única linha usando o método get
. Esse método permite recuperar um registro com base em seu valor de chave primária. Para obter detalhes do método, consulte a classe NoSQLClient.
Defina a consistência da operação de leitura usando a enumeração de Consistência. Você pode definir a Consistência padrão para operações de leitura na configuração inicial que é usada para criar uma instância NoSQLClient usando a propriedade de consistência. Você também pode alterá-la para uma única operação de leitura definindo a propriedade de consistência no argumento GetOpt do 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
e outros métodos relacionados a dados. O parâmetro type permite que o compilador TypeScript forneça dicas de type para o método GetResult
retornado, bem como verifique por tipo a chave informada. Ao verificar o tipo, o compilador inspeciona se o campo de chave primária faz parte do esquema da tabela e se o tipo do campo de chave primária é um dos tipos permitidos, ou seja, string, numérico, data ou booliano. Faça download do código completo QueryData.ts nos exemplos aqui.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);
}
}
Observação:
Para extrair dados de uma tabela filho, especifique o nome completo da tabela (parent_tablename.child_tablename) no parâmetroTABLE_NAME
. Baixe o código JavaScript completo TableJoins.js aqui e o código TypeScript completo TableJoins.ts aqui para entender como extrair dados de uma tabela pai-filho.
Use a API GET para extrair uma única linha de dados usando a chave primária. Você pode ler uma única linha usando o método GetAsync
. Esse método permite recuperar uma linha com base em seu valor de chave primária. Os nomes dos campos devem ser iguais aos nomes das colunas da chave primária da tabela. Você também pode especificar opções como GetOptions
.
Você pode definir a consistência de uma operação de leitura usando a enumeração de Consistência. A consistência padrão para operações de leitura pode ser definida como propriedade de Consistência de NoSQLConfig
. Você também pode alterar a consistência de uma única operação Get usando a propriedade Consistência de GetOptions
. O método GetAsync
retorna Task<GetResult<RecordValue>>
. A instância GetResult
contém a Linha retornada, a Versão da linha e outras informações. Se a linha com a chave primária fornecida não existir na tabela, os valores das propriedades Linha e Versão serão 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);
}
}
Observação:
Para extrair dados de uma tabela filho, especifique o nome completo da tabela (parent_tablename.child_tablename) no parâmetroTableName
. Faça download do código completo TableJoins.cs dos exemplos para entender como extrair dados de uma tabela pai-filho aqui.
Tópicos Relacionados