【发布时间】:2016-05-02 13:33:13
【问题描述】:
好的,我在 MongoDB 中有一个流星项目的集合。文档太长,无法在此处发布,因此我将在集合中放入文档示例以说明我的观点:
_id: "RxBqDLxxPG89ngp9d",
name: "deck of cards",
deck: [
{
suit: "spades",
value: "ace",
},
{
suit: "spades",
value: "king",
},
{
suit: "spades",
value: "queen",
},
{
suit: "hearts",
value: "ace",
},
{
suit: "hearts",
value: "king",
},
{
suit: "hearts",
value: "queen",
}
]
(可以假设我完成了整个套牌,但这对于示例的目的并不重要) 所以我知道,如果我想在一个页面上获取所有这些人的名字,我必须在我正在使用的任何模板中编写一个帮助程序。
"displayCards": function(){ return deckOfCards.find().deck; }
然后在helper的html中:
{{#each displayCards}}
<div class="card">{{value}} of {{suit}}</div>
{{/each}}
哪个会返回:
ace of spades
king of spades
queen of spades
ace of hearts
king of hearts
queen of hearts
这就是我最终提出问题的地方:
我想在每张卡片周围放置一个带有西装类别的 div。为此,我需要能够返回一个仅包含花色等于红桃或黑桃等元素的数组。或者我需要能够返回数组 13 的一部分(或两个,如果我们是只是按照我写的)卡片一次。有没有办法做到这一点?
【问题讨论】:
-
你的问题很难理解。您能否更具体地说明您要在这里做什么?
-
最终?我希望能够对一套西装进行样式更改,但不能对另一套进行样式更改。就目前而言,我没有办法将不同的西装放在不同的容器中,因为当我这样做时 {{#each}} 它会拉出数组的每个元素。我希望一次只能提取一个子集。
-
我也应该清楚。我不能只使用$slice,因为在我运行的程序中,每个文档中有多个数组,所以当我运行deckOfCards.find({}, {deck: {$slice: 3}}) 时会限制数组如我所愿,但它也会返回其他所有内容,我只需要这个数组