2016-01-15 8 views
9

के साथ नई पंक्ति में सरणी के प्रत्येक तत्व को ड्रा करें I मीटर Tabular package का उपयोग कर रहा हूं जो DataTables लागू करता है। मैं एक मोंगो संग्रह से एक टेबल बनाने की कोशिश कर रहा हूँ। संग्रहडेटाटेबल्स (उल्का टैब्यूलर)

{ 
    input: Array[365], 
    output: Array[365], 
    date: Array[365] 
} 

मैं निम्नलिखित कोड

TabularTables.MyTable = new Tabular.Table({ 
    name: "MyTable", 
    collection: MyTable, 
    columns: [ 
     {data: "input", title: "Input", searchable: false}, 
     {data: "output", title: "Output", searchable: false}, 
     {data: "date", title: "Date", searchable: false} 
    ], 
    order: [[1, "desc"]], 
    pageLength: 10 
}); 

समस्या है के साथ उल्का में तालिका को निर्धारित प्रपत्र में से एक दस्तावेज़ है कि जब यह तैयार की है, में प्रत्येक चर अंत तक के सभी 365 तत्वों एक एकल सेल, तो मेरे पास एक विशाल पंक्ति है। मैं चाहता हूँ प्रत्येक तत्व, एक अलग पंक्ति में बनाया जाना यानी

Input  Output  Date 
input[0] output[0] date[0] 
input[1] output[1] date[1] 

यह जबकि वर्तमान में है

Input   Output   Date 
input[0...364] output[0...364] date[0...364] 
+0

{इनपुट: ..., आउटपुट: ..., दिनांक: ...} की सूची में अपने डेटा को बदलना सस्ती है? यदि यह संभव है (और करने के लिए ठीक है) डेटा के लिए यह आसान है –

उत्तर

3

आपको लगता है कि पैकेज के बाद से अपने डेटा को बदलने और फिर इसे एक स्थानीय संग्रह में लाना, की आवश्यकता होगी सरणी स्वीकार नहीं करता है (जैसा कि मैंने पहले सोचा था)।

यह काम करने के लिए लगता है:

TabularTables = {}; 
local = new Meteor.Collection(); 

var data = MyTable.findOne(); 
if (data) { 
    local.find().forEach(function(x) { local.remove(x._id) }); 
    for (var i in data.input) { 
     local.insert({ 
      input: data.input[i], 
      output: data.output[i], 
      date: data.date[i] 
     }); 
    } 
} 

TabularTables.MyTable = new Tabular.Table({ 
    name: "MyTable", 
    collection: local, 
    columns: [ 
     {data: "input", title: "Input", searchable: false}, 
     {data: "output", title: "Output", searchable: false}, 
     {data: "date", title: "Date", searchable: false} 
    ], 
    order: [[1, "desc"]], 
    pageLength: 10 
}); 

ध्यान दें कि यह अब प्रतिक्रियाशील हो सकता है। लेकिन मुझे लगता है कि उन बड़े सरणी में आपका डेटा या तो नहीं बदला जा रहा है, अन्यथा आप अपनी स्कीमा को शुरू करने के लिए उल्का के साथ अधिक संगत होने के लिए बदल देंगे। तो उम्मीद है कि यह कोई समस्या नहीं है।

+0

आपकी प्रक्रिया के बाद त्रुटि में त्रुटि 'त्रुटि: टैब्यूलर .टेबल विकल्पों को संग्रह निर्दिष्ट करना होगा' –

+0

ओह हाँ, आप सही हैं। वह पैकेज वास्तव में सरणी स्वीकार नहीं करता है (मैं एक अलग सोच रहा था)। मैंने तदनुसार अपना जवाब अपडेट कर लिया है। –

+0

मैंने मोंगो में सीधे एक नया संग्रह बनाने के लिए एक स्क्रिप्ट लिखना समाप्त कर दिया, स्टोरेज ओवरहेड चिंता का विषय नहीं है, इसलिए यह सबसे आसान मार्ग था। –

1

चूंकि टैब्यूलरटेबल्स सरणी के लिए अनुमति नहीं देता है, इसलिए आप एस्लगल का उपयोग और उपयोग कर सकते हैं: इसके बजाय प्रतिक्रियाशील-तालिका उल्का पैकेज। पैकेज के git page पर उदाहरण दिखाता है कि आप अपने सरणी पर मोन्गो के वाक्यविन्यास का उपयोग कैसे कर सकते हैं।