(这是我在流星中的第一个应用) 我有问题我无法从收集中获取数据。 我要去制作日历。 我收集了天的名字,并且有这个月的数组,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);
}
});
答案 0 :(得分:0)
我不确定我是否理解你的问题,但我认为你错过了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);
}