2016-04-22 72 views
0

使用AngularJS和MognoDB,是否可以查詢數據庫,返回結果,然後在角度視圖中呈現結果,但是在特定索引/位置返回的數據?需要呈現來自MongoDB查詢返回結果的特定索引/位置

注:對象返回數組...

例如:

用戶點擊一個<a>標籤與UI的SREF領先進入視圖2從視圖1。 URL觸發對MongoDB的查詢,返回500個結果。在View2中,我需要以分頁格式呈現結果(已完成),但是在<a>標記處於特定結果的情況下將分頁開始。

問題:返回結果並顯示View2,但結果START在返回列表的開始位置,而不是從View1中單擊的特定結果。

<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> 

我傳遞的ID通過參數的UI-S參考的查詢,但我還需要通過材料的名稱作爲參數,或以某種方式開始返回的結果在那個特定位置。

回答

0

您的搜索查詢需要採用pageindex和pagesize,並返回總結果的子集以及頁面大小的頁數。

然後,您可以呈現分頁元素,設置「活動」分頁器按鈕,並只呈現該頁面的結果。

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

我需要返回所有結果。但是,當結果返回並呈現時,我需要一個特定的結果,比方說,有500箇中的25個要渲染到視圖中,但仍然可以在其餘部分之間進行分頁......我認爲這是一個參數問題,而Angular只是例如,以第一個結果開始分頁,而不是「25」。 – MattP

+0

是的,通常您會查詢每頁結果。如果他們不會被渲染,則不需要獲取每個頁面。這將減少響應的大小並加速整個過程。 如果由於某種原因你實際上需要同時得到所有的結果,你可以用for循環獲得數組的特定子集: http://stackoverflow.com/questions/16622850/how-to-do-略過和採取函數式的JavaScript換JSON陣列 –