2015-10-16 42 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> 
相关问题