Javascript Meteor JS模板订阅:即使在template.instance()之后,也无法使用find()查询数据

Javascript Meteor JS模板订阅:即使在template.instance()之后,也无法使用find()查询数据,javascript,meteor,Javascript,Meteor,我是Meteor的新手,我会疯狂地尝试让模板订阅工作 尽管Template.subscriptionsReady()返回true,但在尝试查找()时,我仍然得到“无法读取未定义的属性'find'。获取集合。按照相关片段进行操作(如果我能提供更多信息,请现在告诉我): 创建集合(lib/collections/jobs.js): 我的出版物(服务器)(server/publish.js): 我的订阅(客户端)(client/templates/calendar/calendar.js): 然后,当

我是Meteor的新手,我会疯狂地尝试让模板订阅工作

尽管Template.subscriptionsReady()返回true,但在尝试查找()时,我仍然得到“无法读取未定义的属性'find'。获取集合。按照相关片段进行操作(如果我能提供更多信息,请现在告诉我):

创建集合(lib/collections/jobs.js):

我的出版物(服务器)(server/publish.js):

我的订阅(客户端)(client/templates/calendar/calendar.js):

然后,当我尝试搜索集合(客户端)(client/templates/calendar/calendar.js)时:

Template.subscriptionsReady准备就绪时正确返回1,但仍无法搜索集合。我错过了什么?我假设当subscriptionReady就绪时,我能够找到()集合。fetch()集合


提前感谢:)

我通过删除

import {
  Jobs
} from '../../../lib/collections/jobs.js';
从calendar.js文件。不知道为什么,如果有人能帮我理解,我将不胜感激


感谢@zim和@Jankapunkt的帮助

我通过删除

import {
  Jobs
} from '../../../lib/collections/jobs.js';
从calendar.js文件。不知道为什么,如果有人能帮我理解,我将不胜感激


感谢@zim和@Jankapunkt的帮助

错误指向“let data=Jobs.find({}).fetch();”行。请更新问题以显示所有文件的路径。内部/导入的任何内容都不会自动导入。例如,如果你在/imports中定义了集合,但没有使用JS导入/导出模块功能,那么“作业”就不会被知道,你会看到你看到的错误。嗨@zim,我包括了应用程序根目录中的所有补丁。我用的是铁支架结构。非常感谢。我还在calendar.js文件中有“import{Jobs}from'../../../../lib/collections/Jobs.js';”。另一个输入,发布和订阅似乎正在工作,我可以使用蒙古语查看订阅的集合。错误指向“let data=Jobs.find({}).fetch();”行。请更新问题以显示所有文件的路径。内部/导入的任何内容都不会自动导入。例如,如果你在/imports中定义了集合,但没有使用JS导入/导出模块功能,那么“作业”就不会被知道,你会看到你看到的错误。嗨@zim,我包括了应用程序根目录中的所有补丁。我用的是铁支架结构。非常感谢。我还在calendar.js文件中有“import{Jobs}from'../../../../lib/collections/Jobs.js';”。另一个输入,发布和订阅似乎正在工作,我可以使用蒙古语查看订阅的集合。似乎您没有导出作业,而是将其放在全局命名空间中?@Jankapunkt,听起来不错。然后导入失败,因为jobs.js没有导出作业,因此未定义作业。通过删除导入,您现在可以从全局命名空间获得作业。如果您在Jobs.js中“export{Jobs}”,那么您应该能够恢复您的导入。对不起,“you”是Fabio。明白了:)谢谢@Jankapunkt!似乎您没有导出作业,而是将其放在全局命名空间中?@Jankapunkt,听起来不错。然后导入失败,因为jobs.js没有导出作业,因此未定义作业。通过删除导入,您现在可以从全局命名空间获得作业。如果您在Jobs.js中“export{Jobs}”,那么您应该能够恢复您的导入。对不起,“you”是Fabio。明白了:)谢谢@Jankapunkt!
Template.Calendar.onCreated(function () {
  this.subscribe('jobs');
});
Template.Calendar.onRendered(function () {

  this.autorun(() => {

    if (Template.instance().subscriptionsReady()) {

          let data = Jobs.find({}).fetch();
    }

  });
});
import {
  Jobs
} from '../../../lib/collections/jobs.js';