2017-10-17 13 views
0

J'ai des tables réactives qui fonctionnent avec météore. J'essaye de mettre en application une solution simple de détail principal. Fondamentalement Lorsqu'une ligne est sélectionnée dans le tableau 1, les détails sont dans le tableau 2. Lorsque je tente et les données imbriquées d'accès, il apparaît dans ma table comme [objet: objet]Meteor Reactive Tables données imbriquées

J'utilise ce paquet: https://github.com/aslagle/reactive-table#nested-objects-and-arrays

mon schéma ressemble à:

ActivityLogs = new Meteor.Collection ('activityLogs'); 

ActivityLogsSchema = new SimpleSchema({ 
    "aid" : { 
     type: String, 
     label: "aid" 
    }, 
    "logs": { 
     type: Array 
    }, 
    "logs.$": { 
     type: Object 
    }, 
    "logs.$.stdout": { 
     type: String 
    } 

}); 

ActivityLogs.attachSchema(ActivityLogsSchema); 

ActivityLogs.attachSchema(ActivityLogsSchema); 

dans mon html:

{{> reactiveTable collection=activityStdout settings=settings1}} 

mon aide de activityStdout:

activityStdout: function() { 
    var aid = Session.get('selectedAid'); 
    if (aid != null) { 
    // return ActivityLogs.find({"aid": aid}, {"logs.stdout": 1}); 
    return ActivityLogs.find({"aid": aid}); 

} 

Les données de collection ressemble:

db.activityLogs.find({aid:"7aba0960-b31f-11e7-af97-c56765123d72"}).pretty(); 
{ 
    "_id" : ObjectId("59e5d080702ec0000df939b6"), 
    "aid" : "7aba0960-b31f-11e7-af97-c56765123d72", 
    "logs" : [ 
     { 
      "stdout" : "performed substitutions on asset dir config-dir/app/config-dir/config-dir-file-2.json" 
     }, 
     { 
      "stdout" : "performed substitutions on asset dir config-dir/app/config-dir/config-dir-file-1.json" 
     }, 
     { 
      "stdout" : "performed substitutions on asset file undefined" 
     }, 
     { 
      "stdout" : "created package package::/sandboxeter./pipe5/app/dev2::pipe5-app-config-Sprint-5.7.4" 
     } 
    ] 
} 

dans mon helper settinggs1:

settings1: function() { 
return { 
    // collection: activityStdout, 
    rowsPerPage: 25, 
    showNavigation: 'auto', 
    showFilter: false, 
    fields: [ 
     // {key: 'aid'   , label: 'AID' }, 
     {key: 'logs'  , label: 'Logs'}, 
     {key: 'stdout'  , label: 'output'} 
    ] 
}; 
} 

Je voudrais ma table réactive pour montrer une touche dans le tableau des journaux. J'ai joué avec la clé ci-dessus. J'ai essayé: logs.stdout, logs. $. Stdout et plusieurs autres variantes avec la clé.

Dans le tableau I get:

enter image description here

Le code ci-dessous fonctionne pour obtenir les bonnes données, mais il doent utiliser la table réactive:

  <table id="mytable2" class="table table-striped table-bordered table-hover"> 
      <tr> 
       <td>{{aid}}</td> 
      </tr> 
      {{#each activitiesLogList}} 
      {{#each logs}} 
      <tr> {{stdout}} </tr> 
      {{/each}} 
      {{/each}} 
      </table> 

Toutes les pensées sont appréciés.

Répondre

0

Après beaucoup de temps avec google ce n'est apparemment pas pris en charge avec ce paquet Meteor.

Je trouve ceci: https://github.com/aslagle/reactive-table/issues/376

L'auteur Paquet dit:

La seule chose qui fonctionne maintenant est un index de tableau spécifique, comme notes.0.remindersActive. Il n'y a aucun moyen de filtrer quelque chose n'importe où dans le tableau. Est-ce que ceux qui travaillent dans les sélecteurs mongo?