Daten mit Get-API abrufen
Mit der API GetRequest können Sie eine einzelne Datenzeile mit dem Primärschlüssel abrufen.
Standardmäßig werden alle Lesevorgänge mit Eventuell Consistency durchgeführt. Diese Art von Lesevorgang ist weniger kostspielig als diejenigen, die absolute Konsistenz verwenden. Sie können die Standardkonsistenz für eine NoSQLHandle-Instanz mit der Methode setConsistency() in der Klasse Consistency ändern.
Die Klasse GetRequest bietet eine einfache und leistungsstarke Möglichkeit zum Lesen von Daten, während Abfragen für komplexere Leseanforderungen verwendet werden können. Um Daten aus einer Tabelle zu lesen, geben Sie mit der Klasse GetRequest die Zieltabelle und den Zielschlüssel an und verwenden Sie NoSQLHandle.get(), um die Anforderung auszuführen. Das Ergebnis des Vorgangs ist in GetResult verfügbar. Sie können die Standardkonsistenz für eine NoSQLHandle-Instanz mit den Methoden NoSQLHandleConfig.setConsistency(oracle.nosql.driver.Consistency) und GetRequest.setConsistency() ändern.
Laden Sie den vollständigen Code QueryData.java aus den Beispielen hier herunter.
//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");
}
}
Hinweis: Um Daten aus einer untergeordneten Tabelle abzurufen, geben Sie den vollständigen Namen der Tabelle (parent_tablename.child_tablename) in der Methode setTableName an. Laden Sie den vollständigen Code TableJoins.java aus den Beispielen herunter, um zu erfahren, wie Sie Daten aus einer übergeordneten/untergeordneten Tabelle hier abrufen.
Mit der API GetRequest können Sie eine einzelne Datenzeile mit dem Primärschlüssel abrufen. Sie können einzelne Zeilen mit der Methode borneo.NoSQLHandle.get() lesen. Mit dieser Methode können Sie einen Datensatz basierend auf seinem Primärschlüsselwert abrufen. Die Klasse borneo.GetRequest wird für einfache get-Vorgänge verwendet. Er enthält den Primärschlüsselwert für die Zielzeile und gibt eine Instanz von borneo.GetResult zurück. Sie können die Standardkonsistenz für eine borneo.NoSQLHandle mit borneo.NoSQLHandleConfig.set_consistency() ändern, bevor Sie das Handle erstellen. Sie kann für eine einzelne Anforderung mit borneo.GetRequest.set_consistency() geändert werden.
Laden Sie den vollständigen Code QueryData.py aus den Beispielen hier herunter.
# 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()))
Hinweis: Um Daten aus einer untergeordneten Tabelle abzurufen, geben Sie den vollständigen Namen der Tabelle (parent_tablename.child_tablename) in der Methode set_table_name an. Laden Sie den vollständigen Code TableJoins.py aus den Beispielen herunter, um zu erfahren, wie Sie Daten aus einer übergeordneten/untergeordneten Tabelle hier abrufen.
Mit der API GetRequest können Sie eine einzelne Datenzeile mit dem Primärschlüssel abrufen. Sie können einzelne Zeilen mit der Funktion Client.Get lesen. Mit dieser Funktion können Sie einen Datensatz basierend auf seinem Primärschlüsselwert abrufen. Die nosqldb.GetRequest wird für einfache get-Vorgänge verwendet. Er enthält den Primärschlüsselwert für die Zielzeile und gibt eine Instanz von nosqldb.GetResult zurück. Wenn der get-Vorgang erfolgreich ist, wird ein Nicht-Nil-GetResult.Version zurückgegeben. Sie können die Standardkonsistenz für eine nosqldb.RequestConfig mit RequestConfig.Consistency ändern, bevor Sie den Client erstellen. Sie kann für eine einzelne Anforderung mit dem Feld GetRequest.Consistency geändert werden.
Laden Sie den vollständigen Code QueryData.go aus den Beispielen hier herunter.
//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")
}
}
Hinweis: Um Daten aus einer untergeordneten Tabelle abzurufen, geben Sie den vollständigen Namen der Tabelle (parent_tablename.child_tablename) im Parameter TableName an. Laden Sie den vollständigen Code TableJoins.go aus den Beispielen herunter, um zu erfahren, wie Sie Daten aus einer übergeordneten/untergeordneten Tabelle hier abrufen.
Mit der API get können Sie eine einzelne Datenzeile mit dem Primärschlüssel abrufen. Sie können eine einzelne Zeile mit der Methode get lesen. Mit dieser Methode können Sie einen Datensatz basierend auf seinem Primärschlüsselwert abrufen. Methodendetails finden Sie in der Klasse NoSQLClient.
Legen Sie die Konsistenz des Lesevorgangs mit Consistency Enumeration fest. Sie können die Standardkonsistenz für Lesevorgänge in der anfänglichen Konfiguration festlegen, die zum Erstellen einer NoSQLClient-Instanz mit der Konsistenzeigenschaft verwendet wird. Sie können sie auch für einen einzelnen Lesevorgang ändern, indem Sie die Konsistenzeigenschaft im GetOpt-Argument der get-Methode festlegen.
JavaScript: Laden Sie den vollständigen Code QueryData.js aus den Beispielen hier herunter.
//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: Sie können auch einen optionalen type-Parameter für eine Zeile an get und andere datenbezogene Methoden angeben. Mit dem Parameter type kann der TypeScript-Compiler type-Hints für die zurückgegebene GetResult-Methode bereitstellen und den übergebenen Schlüssel vom Typ prüfen. Während der Prüfung des Typs prüft der Compiler, ob das Primärschlüsselfeld Teil des Tabellenschemas ist und ob der Typ des Primärschlüsselfeldes einer der zulässigen Typen ist, d.h. entweder Zeichenfolge, numerisch, Datum oder boolesch. Laden Sie den vollständigen Code QueryData.ts aus den Beispielen hier herunter.
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);
}
}
Hinweis: Um Daten aus einer untergeordneten Tabelle abzurufen, geben Sie den vollständigen Namen der Tabelle (parent_tablename.child_tablename) im Parameter TABLE_NAME an. Laden Sie den vollständigen JavaScript-Code TableJoins.js hier und den vollständigen TypeScript-Code TableJoins.ts hier herunter, um zu erfahren, wie Daten aus einer übergeordneten/untergeordneten Tabelle abgerufen werden.
Mit der GET-API können Sie eine einzelne Datenzeile mit dem Primärschlüssel abrufen. Sie können eine einzelne Zeile mit der Methode GetAsync lesen. Mit dieser Methode können Sie eine Zeile basierend auf ihrem Primärschlüsselwert abrufen. Die Feldnamen müssen mit den Spaltennamen für den Primärschlüssel der Tabelle identisch sein. Sie können die Optionen auch als GetOptions übergeben.
Sie können die Konsistenz eines Lesevorgangs mit Consistency Enumeration festlegen. Die Standardkonsistenz für Lesevorgänge kann als Konsistenzeigenschaft von NoSQLConfig festgelegt werden. Sie können auch die Konsistenz für einen einzelnen Get-Vorgang ändern, indem Sie die Konsistenzeigenschaft GetOptions verwenden. Die Methode GetAsync gibt Task<GetResult<RecordValue>> zurück. Die Instanz GetResult enthält die zurückgegebene Zeile, die Zeilenversion und andere Informationen. Wenn die Zeile mit dem angegebenen Primärschlüssel nicht in der Tabelle vorhanden ist, sind die Werte der Zeilen- und Versionseigenschaften null.
Laden Sie den vollständigen Code QueryData.cs aus den Beispielen hier herunter.
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);
}
}
Hinweis: Um Daten aus einer untergeordneten Tabelle abzurufen, geben Sie den vollständigen Namen der Tabelle (parent_tablename.child_tablename) im Parameter TableName an. Laden Sie den vollständigen Code TableJoins.cs aus den Beispielen herunter, um zu erfahren, wie Sie Daten aus einer übergeordneten/untergeordneten Tabelle hier abrufen.