Meteor:如何从Google表格中构建Mongo数据

时间:2016-06-14 21:31:22

标签: arrays mongodb meteor

BSON数据列表包含非常不需要的值,如下所示。我遇到的问题是从Mongo返回一个数组子集,以便我可以使用Meteor在模板中显示它。

Mongo存储数据:

    meteor:PRIMARY> db.ga_spreadsheet.find().pretty()
    {
"_id" : "7YLifh9C6Gp8HPCTm",
"spreadsheet" : "NBATEST",
"header" : null,
"cells" : {
    "1" : {
        "1" : {
            "row" : "1",
            "col" : "1",
            "value" : "name"
        },
        "2" : {
            "row" : "1",
            "col" : "2",
            "value" : "position"
        },
        "3" : {
            "row" : "1",
            "col" : "3",
            "value" : "salary"

&安培; client / view.js执行拉取请求

GASpreadsheet = new Mongo.Collection('GASpreadsheet');

if (Meteor.isClient) {
   Meteor.call("spreadsheet/fetch","1kdRtyhrvXN1aEf35NwtA8pzHfjc9-lNwV76CE_Zr_g");
   spreadsheetData = GASpreadsheet.findOne({spreadsheet: 'NBATEST'})

Template.nba.helpers({
    'player': function(){
        var currentUserId = Meteor.userId();
        return GASpreadsheet.find({ createdBy: currentUserId },
                                { sort: {score: -1, name: 1} });
    },
    cellState: function(x, y) {
        if(screenArray[x][y] === 1){
            return 'live';
        }
        else {
            return 'dead';
        }
        },

    'selectedClass': function(){
        var playerId = this._id;
        var selectedPlayer = Session.get('selectedPlayer');
        if(playerId == selectedPlayer){
            return "selected"
        }
    },
    'selectedPlayer': function(){
        var selectedPlayer = Session.get('selectedPlayer');
        return GASpreadsheet.findOne({ _id: selectedPlayer });
    }
});

}

查看/ main.html中

<template name="nba">
  <div class="gridWrapper">
   {{#each row in rows}}
    <div class="row">
     {{#let rowIndex=@index}}
        {{#each cell in row}}
          <div class="cell {{cellState rowIndex @index}}">{{this}}</div>
        {{/each}}
       {{/let}}
      </div>
     {{/each}}
   </div>
  </template>

0 个答案:

没有答案