Meteor:如何从mongodb返回数组子集

时间:2016-05-01 19:52:38

标签: arrays mongodb meteor

好的,我在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; }

然后在帮助者的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

所以这就是我最终提出问题的地方:
我想在每套卡片上放一套西装。要做到这一点,我需要能够返回一个只有西装等于心脏或黑桃等元素的数组,或者我需要能够返回一个数组13(或者如果我们是只是按照我所写的那样)卡片。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

这是您可以执行多个文档操作的方法。

你的助手代码: -

"displayCards": function(){ 
     return deckOfCards.find()
 }

您的HTML代码: -

{{#each displayCards}}
     {{#each deck}}
          <div class="card">{{value}} of {{suit}}</div>
     {{/each}}
{{/each}}

所以你只需要在第二个#each循环中通过你的桌面。这就是你如何做到的。