Okay, ich habe eine Sammlung in MongoDB für ein Meteor-Projekt. Ein Dokument ist zu lang, um hier zu posten, damit ich werde einfach in der Sammlung in einem Beispiel eines Dokuments lege meinen Punkt herüber zu erhalten:Meteor: wie man eine Array-Teilmenge von mongodb zurückgibt
_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",
}
]
(man davon ausgehen kann, dass ich das ganze Deck tat, aber es ist für die Zwecke des Beispiels nicht wichtig) Und so weiß ich, dass, wenn ich Namen von all jenen auf einer Seite bekommen wollte, ich einen Helfer in welcher Schablone schreiben müsste, mit der ich arbeite.
"displayCards": function(){ return deckOfCards.find().deck; }
Und dann in den HTML-Code des Helfers:
{{#each displayCards}}
<div class="card">{{value}} of {{suit}}</div>
{{/each}}
Welche zurückkehren:
ace of spades
king of spades
queen of spades
ace of hearts
king of hearts
queen of hearts
Also hier ist, wo ich endlich auf meine Frage bekommen:
Ich möchte Legen Sie ein Div mit einer Klasse von Anzug um jede Kartenfarbe. Um dies zu tun, muss ich in der Lage sein, entweder nur die Elemente zurückzugeben, wo die Farbe gleich Herz oder Pik ist, usw. ODER Ich muss in der Lage sein, ein Stück des Arrays 13 (oder zwei, falls wir es sind) zurückzugeben einfach gehen, was ich geschrieben habe) Karten auf einmal. Gibt es eine Möglichkeit, dies zu tun?
Ihre Frage ist schwer zu verstehen. Könnten Sie bitte genauer angeben, was Sie hier versuchen? – styvane
letztlich? Ich möchte Stiländerungen an einem Anzug vornehmen können, aber nicht am anderen. So wie es jetzt aussieht, habe ich keine Möglichkeit, die verschiedenen Anzüge in andere Container zu legen, denn wenn ich {{#each}} mache, zieht es jedes Element des Arrays heraus. Ich möchte in der Lage sein, jeweils nur eine Teilmenge zu ziehen. –
Ich sollte auch klar sein. Ich kann nicht einfach $ slice verwenden, weil in dem Programm, das ich ausführe, mehrere Arrays in jedem Dokument vorhanden sind. Wenn ich also deckOfCards.find ({}, {deck: {$ slice: 3}}) verwende, wird das Array begrenzt wie ich will, aber es wird auch alles andere zurückgeben, und ich brauche nur dieses eine Array –