J'ai une collection nommée « PIDS » dans MongoDB et avec plusieurs tableaux:Meteor - Comment utiliser {{each}} pour afficher plusieurs tableaux de mongoDB dans une table?
{
"_id" : "Coms>f41a3480af751a7a",
"pIds" : [
"pid_833d82c2f32b7dc0",
"pid_833d82c2f32b7dc0",
"pid_833d82c2f32b7dc0",
],
"dudes" : [
"AB",
"AC",
"BC"
],
"ho" : [
"Coms>f41a3480af751a7a",
"Coms>f41a3480af751a7a",
"Coms>f41a3480af751a7a"
],
"ps" : [
"vf",
"ou",
"rwf"
],
}
Maintenant, je veux rendre ces éléments dynamiques dans une table HTML afin que la table change de la même façon les données dans les changements de collecte . La table devrait donc automatiquement ajouter de nouveaux éléments, lorsque de nouveaux éléments sont écrits dans la collection "pIds". J'ai pensé à utiliser {{each}}.
JS-Helper:
Template.home.helpers({
'pIdsRendering': function() {
if (Meteor.userId()) {
var pId = pIds.find({'_id': Session.get('pIdshome')}).fetch();
return pId;
}
},
});
HTML:
<tbody>
{{#each pIdsRendering}}
{{#each pIds}}
<tr><td>{{this}}</td></tr>
{{/each}}
{{/each}}
{{#each pIdsRendering}}
{{#each dudes}}
<tr><td>{{this}}</td></tr>
{{/each}}
{{/each}}
[...and so on...]
</tbody>
En fait, cela fonctionne et de nouveaux éléments sont ajoutés à la table, mais je ne peux pas simplement mettre le contenu dans les cellules de droite la table. Il met le contenu en une seule colonne comme les données de la table seraient écrites comme ceci:
Donc, je pense qu'il est « ordre logique », mais je ne peux pas le faire. ..dans la fin de la table devrait ressembler à ceci:
Votre réponse fonctionne parfaitement, merci beaucoup! Changer le schéma de données en un objet le rend beaucoup plus facile. De plus, vous avez raison, je veux lier les pIds [index] avec dudes [index] et c'est beaucoup plus facile en utilisant un objet. – Jaybruh