在我的Meteor.JS应用程序中,我宣布了一个集合:
WPThemes = new Mongo.Collection('wpthemes');
这个系列有我插入的灯具。 它至少包含64个文档,具有以下结构
{
productname: 'sample product name',
name: 'sameple name'
}
然后我发布了一份出版物:
Meteor.publish('wpthemes', function(options){
check(options, {
limit: Number
});
return WPThemes.find({}, options);
});
在RouteController中,我订阅它并将其分配给'数据'的网页:
WPThemesListController = RouteController.extend({
template: 'wordpress',
increment: 66,
wpthemesLimit: function(){
return parseInt(this.params.wpthemesLimit) || this.increment;
},
findOptions: function(){
return {limit: this.wpthemesLimit()};
},
subscriptions: function(){
this.themesSub = Meteor.subscribe('wpthemes', this.findOptions());
},
themes: function(){
return WPThemes.find({}, this.findOptions());
},
data: function(){
var hasMore = this.themes().count() === this.wpthemesLimit();
return{
themes: this.themes(),
ready: this.themesSub.ready,
nextPath: hasMore ? this.nextPath() : null
}
}
});
所以现在我在Template.wordpress.rendered = function(){}块内。 我想访问'数据中返回的主题:'以上。 主题被赋予this.themes()返回的值,this.themes()获取返回WPThemes.find({},this.findOptions())返回的值; 据我所知,Collection.find()返回一个游标。
因此,我认为主题是持有游标对象???
当我打印到控制台.data.themes时,通过:console.log(this.data.themes); 我明白了:
[Log] Object (wordpress.js, line 14)
_selectorId: undefined
_transform: null
collection: Object
fields: undefined
limit: 66
matcher: Object
reactive: true
skip: undefined
sorter: null
__proto__: Object
我如何迭代这个游标'对象并在控制台中打印存储在文档中的所有信息? 在这种情况下,我想通过以下方式打印插入此集合的每个名称和产品名称:
WPThemes.insert({
productname: stringToUse,
name: studioPressFiles[i]
});
我已将atlas 64文档插入此Collection。
然而,如果我做console.log(this.data.themes.count());
我得到0 ....为什么?
当假设的项为0时,如何迭代此游标以获取数据? 该网页确认集合中有项目,因为{{#each themes}}有效.....
如何将此光标转换为数组?
非常感谢...
答案 0 :(得分:0)
http://docs.meteor.com/#/full/fetch
所以基本上你要做的就是console.log(this.data.themes.fetch());