(0) exportieren Drucken
Alle erweitern

table-Objekt

Letzte Aktualisierung: Januar 2013

Stellt Funktionen zum Arbeiten mit bestimmten Tabellen bereit.

Dieses Objekt enthält die folgenden Elemente:

del

Löscht ein angegebenes Element aus der Tabelle.

Syntax

Table.del(itemOrId, options)

Parameter

 

Parameter Beschreibung

itemID

Jedes das Element oder eine Zeile mit der angegebenen ID.

Rückgabewert

Nicht definiert.

 

Syntax Rückgabewert Beschreibung

del

 

nicht definiert

 

insert

Table.insert(item, options)

nicht definiert

Fügt das angegebene item in die angegebene tableName ein.

orderBy

Table.orderBy(arg1, arg2, …)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, bei der die Abfrage anhand der angegebenen Spaltennamenargumente in aufsteigender Reihenfolge sortiert ist.

orderByDescending

Table.orderByDescending(arg1, arg2, …)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, bei der die Abfrage anhand der angegebenen Spaltennamenargumente in absteigender Reihenfolge sortiert ist.

read

Table.read(options)

nicht definiert

Liest alle Daten aus der Tabelle und ruft den Erfolgshandler auf, der im Parameter options angegeben ist, der ein Array von Ergebnissen übergibt.

ImportantWichtig
Die Methode read sollte nicht für Tabellen mit unbegrenzter Größe aufgerufen werden.

select

Table.select(string)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, auf die die angeforderte string-Projektion angewendet wurde.

Table.select(function)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, auf die die angeforderte function-Projektion angewendet wurde.

skip

Table.skip(recordCount)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, die die ersten recordCount Datensätze überspringt.

take

Table.take(recordCount)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, die recordCount Datensätze zurückgibt.

where

Table.where(object)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, die anhand der Eigenschaftswerte des angegebenen JSON-object gefiltert wird.

Table.where(function)

Query-Objekt

Gibt eine Query-Objekt-Instanz zurück, die anhand der angegebenen function gefiltert wird.

update

Table.update(item, options)

nicht definiert

Aktualisiert das angegebene item in den angegebenen tableName.

Die Methoden insert, update und del akzeptieren ein options-Objekt, für das Erfolgs- oder Fehlerhandler definiert sein können.

Alle Abfragemethoden (orderBy, orderByDescending, select, skip, take und where) geben ein Query-Objekt zurück. Dieses Objekt macht die gleichen Methoden verfügbar, sodass Sie Abfragen als eine Reihe von Methodenaufrufen zusammenstellen können.

Das folgende Skript ruft die where-Methode auf, um die zurückgegebenen Zeilen anhand der angegebenen Objektwerte zu filtern. Wenn mindestens ein Datensatz zurückgegeben wird, wird davon ausgegangen, dass der Benutzer über die erforderliche Berechtigung verfügt, um einen Auftrag zu senden, und die Einfügung wird ausgeführt; andernfalls wird ein Fehler zurückgegeben.

function insert(item, user, request) {
    var permissionsTable = tables.getTable('permissions');

    permissionsTable.where({
        userId: user.userId,
        permission: 'submit order'
    }).read({
        success: function(results) {
            if (results.length > 0) {
                // Permission record was found. Continue normal execution.
                request.execute();
            } else {
                console.log('User %s attempted to submit an order without permissions.', user.userId);
                request.respond(statusCodes.FORBIDDEN, 'You do not have permission to submit orders.');
            }
        }
    });
}

Die folgende Funktion aus einem geplanten Auftrag, führt Transact-SQL aus, das doppelte Zeilen zurückgibt und dann die del-Methode verwendet, um die Duplikate zu entfernen.

function cleanup_channels() {
    var sql = "SELECT MAX(Id) as Id, Uri FROM Channel " + 
        "GROUP BY Uri HAVING COUNT(*) > 1";
    var channelTable = tables.getTable('Channel');

    mssql.query(sql, {
        success: function(results) {
            if (results.length > 0) {
                for (var i = 0; i < results.length; i++) {
                    channelTable.del(results[i].Id);
                    console.log('Deleted duplicate channel:' + 
                    results[i].Uri);
                }
            } else {
                console.log('No duplicate rows found.');
            }
        }
    });
}

Anzeigen:
© 2014 Microsoft