2016-01-15 15 views
9

ile yeni satırda çizin DataTables'u uygulayan Meteor Tabular package kullanıyorum. Mongo koleksiyonundan bir tablo oluşturmaya çalışıyorum. ToplamaDizinin her öğesini DataTables (Meteor Tabular)

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

I

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 
}); 

sorun aşağıdaki kodla Meteor tabloyu tanımlayan formunun bir belge olduğu bu çekildiğinde, yukarı her bir değişken sonunda her 365 elemanlar tek bir hücre, bu yüzden büyük bir satırım var. Her eleman yani bunun oysa

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

şu anda, ayrı bir satırda oluşturulmasını istediğiniz

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

Verilerinizi {input: ..., output: ..., date: ...} listesine dönüştürmek uygun mu? Bu mümkün (ve tamam) dataTable bunu işlemek için kolay –

cevap

3
O paketin beri, verileri dönüştürmek ve daha sonra yerel bir koleksiyon koydu gerekir

dizileri kabul etmiyor (daha önce düşündüğümün aksine).

Bu iş gibi görünüyor: bu artık reaktif olabilir

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 
}); 

Not söyledi. Ama veriyorum ki, bu büyük dizilerdeki verileriniz değişmeyecek, ya da muhtemelen şemanızı başlangıçta meteor ile daha uyumlu olacak şekilde değiştireceksiniz. Umarım bu bir problem değildir.

+0

hata 'Önerisi: Tabular.Table seçenekleri' 'toplaması gerektiğini belirtin' –

+0

oh evet öneriyor, evet, haklısın. Bu paket aslında diziyi kabul etmiyor (farklı birini düşünüyordum). Cevabımı buna göre güncelledim. –

+0

Sadece Mongo'da yeni bir koleksiyon oluşturmak için bir komut dosyası yazdım, depolama yükü bir sorun değil, bu yüzden en kolay yoldu. –

1

TabularTables dizilere izin vermediğinden, bunun yerine aslagle: reaktif-table Meteor paketini kullanmayı deneyebilirsiniz. Paketin git page üzerindeki örnek, dizinizdeki mongo sözdizimini nasıl kullanabileceğinizi gösterir.