Für eine Anwendung habe ich eine JavaScript-gespeicherte Proc erstellt, um auf AzureDB zu laufen, so dass ich eine Reihe von umfassenden Summierungen erhalten kann, kann ich dann shgow auf meinem Bildschirm.DocumentDb on Azure - ich kann das vollständige Re-Cord-Set in einem einzelnen Lauf nicht abrufen?
Allerdings ist die Anzahl immer ausgeschaltet, es schien, als ob ich nie das vollständige Recordset bekommen würde.
Also habe ich einen Test gemacht. Ich erstellte den folgenden gespeicherten proc:
function trialRun(startDateTime, endDateTime)
{
var context = getContext();
var collection = context.getCollection();
var response = context.getResponse();
var sqlString = "select p.id, p.ClientId, p.ActionType, a.Action, a.TimeStamp "
+ "from History p"
+ " join a in p.Actions "
+ "where a.TimeStamp >= '" + startDateTime + "' "
+ " and a.TimeStamp <= '" + endDateTime + "' ";
// Query documents
var isAccepted = collection.queryDocuments(collection.getSelfLink(), sqlString,
function (err, feed, options)
{
if (!err)
{
response.setBody(JSON.stringify(feed));
}
else
{
throw err;
}
});
if (!isAccepted) { throw new Error("The query was not accepted by the server."); }
}
Und in der Tat, vermisst der Ausgang 10 Datensätze.
Ich lese über Paging und so ... aber ich habe bisher nichts zu diesem Problem gefunden.
Wer hier könnte mich in die richtige Richtung bringen? Vielleicht ein Beispielcode, um die Daten von der nächsten "Seite zu bekommen?
Nun, es war nur ein schneller Test. Ich wollte sehen, welche Datensätze mein gespeicherter Proc durchlaufen hat. – Fysicus
In meinem tatsächlichen Stored Proc durchlaufe ich den Feed und erstelle ein paar Wörterbuchobjekte; Das sind die Objekte, die ich stringify und dann wieder an den Client senden. – Fysicus
Ich vermutete, dass Sie tatsächlich eine Aggregation erstellen möchten. :-) Trotzdem musst du sie nicht stringieren. Gib einfach die JavaScript-Objekte zurück. Die Sache, die fehlt, ist eine Möglichkeit, für mehr Seiten zurückzukehren. –