2017-02-09 3 views
0

Я пытаюсь следовать документации Метеор здесь: https://www.meteor.com/tutorials/blaze/collections в добавление коллекции и возможность получить пустой массив обратно, делая это в консоли:Почему я не могу найти Задачи?

Tasks.find().fetch() 

, но вместо этого я получаю это:

Я не уверен, где я ошибся, так как я следую их документации, я считаю, что структура дерева для папки импорта, которую я создал в соответствии с документацией, верна, и код, который я реализовал до сих пор также как и предложено из их документов.

Это клиент/main.js:

import { Template } from 'meteor/templating'; 
import { ReactiveVar } from 'meteor/reactive-var'; 
import {Tasks} from '../imports/api/tasks'; 

import './main.html'; 

Template.hello.onCreated(function helloOnCreated() { 
    // counter starts at 0 
    this.counter = new ReactiveVar(0); 
}); 

// templates can have helpers which are just functions and events and this 
// particular event is a click event 
Template.todos.helpers({ 
    tasks() { 
    return Tasks.find({}); 
    }, 
}); 


Template.todos.events({ 

}); 

Это импортирует/API/tasks.js:

import {Mongo} from 'meteor/mongo'; 

export const Tasks = new Mongo.Collection('tasks'); 

Это сервер/main.js:

import { Meteor } from 'meteor/meteor'; 
import {Tasks} from '../imports/api/tasks'; 

Meteor.startup(() => { 
    // code to run on server at startup 
}); 

Это клиент/main.html:

<head> 
    <title>tasklist</title> 
</head> 

<body> 
    <h1>Welcome to Meteor!</h1> 

    {{> todos}} 
    {{> info}} 
</body> 

<template name="todos"> 

</template> 

<template name="info"> 
    <h2>Learn Meteor!</h2> 
    <ul> 
    <li><a href="https://www.meteor.com/try" target="_blank">Do the Tutorial</a></li> 
    <li><a href="http://guide.meteor.com" target="_blank">Follow the Guide</a></li> 
    <li><a href="https://docs.meteor.com" target="_blank">Read the Docs</a></li> 
    <li><a href="https://forums.meteor.com" target="_blank">Discussions</a></li> 
    </ul> 
</template> 
+0

Может ли это быть «.js» при импорте задач? – LPL

ответ

0

Tasksis определено, но только в том объеме, в котором оно импортируется. Поскольку он никогда не был объявлен глобальным, вы не сможете получить доступ к нему в консоли своего браузера.

Если вы хотите увидеть задачи (те, вы подписывающиеся) в консоли, просто обновить вспомогательную функцию:

Template.todos.helpers({ 
    tasks() { 
    let tasks = Tasks.find({}); 
    console.log(tasks.fetch()); 
    return tasks; 
    } 
}); 

Или, вы можете проверить вашу базу данных напрямую:

> meteor mongo 
> db.tasks.find() 
+0

chaz, я все равно получаю ту же ошибку в консоли и в базе данных напрямую, я ничего не получаю, даже пустой массив. – Daniel

Смежные вопросы