2015-10-16 90 views
0

我在我的流星應用程序中有一個產品光標,每個產品都通過「instock」屬性知道它是當前庫存。產品在商店中按字母順序排序,但我希望instock <= 0instock === 0的所有產品都可以排序到搜索結果的底部。如何對「instock:0」項目進行排序以查詢結束

我已經在流星中嘗試了以下排序選項。

options = {sort: [['instock', 'desc], [name]] }

這使得所有使用inStock === 0的屬性光標結束,但不會保留對其他產品的字母排序。

流星和MongoDB中有沒有一種方法可以將具有特定值的字段放到結果的最後?

回答

1

據我所知,你將需要創建兩個單獨的遊標,並一個接一個地顯示。這是因爲Mongo中的選擇器與選項分開。選擇器用於過濾數據,選項用於對數據進行排序等等。

樣本模板助手:

stockedItems: function(){ 
return products.find({},{instock:{$gt:0}},{sort:{name:-1}}) 
} 
outOfStockItems: functions(){ 
return products.find({},{instock:{$lte:0}},{sort:{name:-1}}) 
} 

樣本模板:

<ul> 
{{#each stockedItems}} 
<li>{{Title}}</li> 
{{/each}} 
{{#each outOfStockItems}} 
<li>{{Title}}</li> 
{{/each}} 
</ul> 
相關問題