Frage

würde Ich mag, um zu bestimmen, was legen einen bestimmten Eintrag ist in, aber die entsprechende GQL Abfrage mir entweicht. Im Idealfall würde Ich mag die folgenden Details kennen, die scheinen, wie sie vom Datenspeicher bekannt sein sollten. Ich kann einfach nicht zu Figur scheinen, wie es zu bestimmen. Kann jemand helfen?

  • die Platzierung eines bestimmten Eintrags (in einem gegebenen Sortier, das heißt durch eine bestimmte Eigenschaft)
  • die Gesamtzahl der Einträge, die vorhanden sind (w / o Abrufen von ihnen, nur die Zählung)
  • der nächste Eintrag in der Liste (I Figur, solange ich die Platzierung bekommen kann, kann ich die richtige Abfrage macht die nächsten zu erhalten, indem einfach 2 bekommen und unter dem letzteren)

Kann jemand helfen?

War es hilfreich?

Lösung

Wenn Sie Python verwenden, überprüfen die google-app- Motor-Ranklist Projekt, welches implementiert eine Rangliste im App Engine-Datenspeicher.

Andere Tipps

GQL ist sehr begrenzt, und besteht eigentlich nur Menschen in einer SQL stecken geben Einstellung einen etwas leichteren Übergang der App Engine-Datenspeicher zu verwenden. Sie können keine der Dinge, die Sie mit GQL Syntax tun wollen.

Angenommen, Sie sind mit Python, kann der zweite durch den Aufruf der .count () -Methode eines db.Query oder db.GqlQuery Objekts durchgeführt werden, mit dem Vorbehalt, dass Sie die maximale Anzahl angeben müssen als Parameter zählen zu count (), und dass dieses Maximum darf nicht größer sein als 1000.

Sie können einen bestimmten Eintrag in der Ergebnismenge, ohne alle von ihnen zu holen und suchen sie finden. Der letzte wird dann trivial, da Sie bereits alle Einheiten wurden zu holen und Sie nur das nächste holen müssen.

Nichts davon wird effizient sein; der Datenspeicher ist nicht darauf ausgelegt, diese Art von Sachen zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top