2016-04-22 6 views
0

berechnen Mit AngularJS und MognoDB können Sie die Datenbank abfragen, die Ergebnisse zurückgeben und dann die Ergebnisse in einer eckigen Ansicht wiedergeben, ABER BEI EINEM SPEZIFISCHEN INDEX/ORT DER ZURÜCKGEBURTENDEN DATEN?Sie müssen den spezifischen Index/Speicherort der zurückgegebenen Ergebnisse aus der MongoDB-Abfrage

Hinweis: Objekte sind in ARRAY RETURNED ...

Zum Beispiel:

Benutzer klickt auf einen <a> Tag mit ui-sref in View2 von Ansicht1 führt. Die URL löst eine Anfrage an MongoDB aus und gibt 500 Ergebnisse zurück. In View2 muss ich die Ergebnisse in einem Paginierungsformat (bereits abgeschlossen) darstellen, aber die Paginierung START hat bei dem spezifischen Ergebnis, dass das <a>-Tag aktiviert war.

PROBLEM: Die Ergebnisse werden zurückgegeben und die View2 wird gerendert, aber die Ergebnisse START am Anfang der zurückgegebenen Liste, anstatt auf das bestimmte Ergebnis, das aus View1 geklickt wurde.

<div class="col m3" dir-paginate="material in graniteStuff | itemsPerPage: 20"> 
      <a ui-sref="material({id: material.material_category_id})"><div class="card"> 
      <div class="card-image small"> 
       <img ng-src="http://..."> 
      </div> 
      <div class="card-content" id="color"> 
       <p>{{ material.material_name }}</p> 
       <p>{{ material.material_country_of_origin }}</p> 
      </div> 
      </div> 
      </a> 
     </div> 

ich das Bestehen der ID als Parameter durch die ui-Sref auf die Abfrage, aber ich muss auch den Namen des Materials als Parameter übergeben, oder irgendwie damit beginnen, die zurückgegebenen Ergebnisse an dieser bestimmten Stelle .

Antwort

0

Ihre Suchanfrage muss den Seitenindex und die Seitengröße annehmen und eine Teilmenge der Gesamtergebnisse zusammen mit der Anzahl der Seiten mit der Seitengröße zurückgeben.

Dann können Sie die Seitenwechselelemente rendern, den 'aktiven' Pager-Knopf setzen und nur die Ergebnisse für diese Seite rendern.

.skip(pageindex * pagesize).limit(pagesize) // pageindex is 0 based 
+0

Ich muss alle Ergebnisse zurückgeben. Aber wenn die Ergebnisse zurückgegeben und gerendert werden, brauche ich ein bestimmtes Ergebnis, sagen wir 25 von 500, um es zu rendern, während man immer noch zwischen den anderen paginieren kann ... Ich denke, es ist ein Parameterproblem, und nur Winkelfehler Startet die Seitennummerierung beim ersten Ergebnis und nicht zum Beispiel "25". – MattP

+0

Ja, normalerweise würden Sie für jede Seite der Ergebnisse abfragen. Es gibt keine Notwendigkeit, jede Seite zu erhalten, wenn sie nicht gerendert werden. Dies reduziert die Größe der Antwort und beschleunigt den gesamten Prozess. Wenn Sie aus irgendeinem Grund tatsächlich jedes Ergebnis alle zur gleichen Zeit benötigen, können Sie eine bestimmte Teilmenge des Arrays mit einer for-Schleife erhalten: http://stackoverflow.com/questions/16622850/how-to-do- skip-and-take-Funktionen-in-Javascript-für-JSON-Array –

Verwandte Themen