[英]Meteor : getting data from collection
(這是我在流星上的第一個應用程序)我有問題,我無法從收集中獲取數據。 我要去做日歷。 我有一個集合,其中有天的名稱,並且這個月有幾天的數組,mondey是0等。在集合中,我有名稱和索引,如果索引等於數組中的天數,我想顯示天的名稱不知道我是否做得很好。 注意我所有的應用程序代碼,並在文件夾中進行了排序,但是我只是在需要幫助的地方復制了代碼
<template name="calendar">
{{#each months}}
<span>{{name}}</li>
{{/each}}
</ul>
{{days}}
<div class="calendar">
<ul>
{{#each daysofweek}}
<li>
{{index}}
</li>
{{/each}}
</ul>
{{#each generateCalendar}}
<ul>
<li>
<ul>
{{#each this}}
<li>
{{day}}: {{dayOfWeek}}
</li>
{{/each}}
</ul>
</li>
</ul>
{{/each}}
</div>
<!-- <button class="remove">click</button>-->
</template>
db = new Array;
db['dayoftheweek'] = new Mongo.Collection('dayoftheweek');
db['months'] = new Mongo.Collection('months');
Template.calendar.helpers({
'daysofweek': function () {
return db['dayoftheweek'].find();
},
'generateCalendar': function () {
var tab = [];
var daysInMonth = Session.get('currentMonthDays');
var fDay = Session.get('currentMonthFDay');
for (var i = 1; i <= daysInMonth; i++) {
tab[i] = {day: i, dayOfWeek: fDay};
if (fDay === 6) {
fDay = 0;
} else {
fDay++;
}
}
var weeks = [];
var i = 0;
while (tab.length > 0) {
if (i === 0) {
weeks[i] = tab.splice(0, (8 - Session.get('currentMonthFDay')));
i++;
} else {
weeks[i] = tab.splice(0, 7);
i++;
}
}
return weeks;
}
});
Meteor.methods({
'removeFromDb': function(selected, dbname){
db[dbname].remove(selected);
}
});
我不確定我是否正確理解您的問題,但我認為您缺少該collection.find()
方法返回游標的方法。 因此,如果要獲取數據,則需要調用cursor.fetch()
方法,該方法將向您返回一個包含數據的數組。
檢查查找方法的文檔: http : //docs.meteor.com/#/full/find
提取方法文檔: http : //docs.meteor.com/#/full/fetch
要打印數組中對象的所有名稱,您需要循環:
var days = db['dayoftheweek'].find().fetch(); for(var i=0; i<days.length; i++) { console.log(days[i].name); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.