2016-06-07 95 views
0

我已经在我的客户端JS写了下面的代码:不能得到流星客户端JS我收集的数据流星

var resolutionsQ; 
Template.body.onCreated(function bodyOnCreated() { 
    resolutionsQ = new Mongo.Collection("res"); 
}); 

Template.body.helpers({ 
    resolutions: function() { 
     var res = resolutionsQ.find({}); 
     console.log(res); 
     return resolutionsQ.find({}); 
    } 
}); 

然后在我的项目文件夹(在终端),我写道:

meteor mongo 

蒙戈DB控制台启动后,我又写道:

db.res.insert({title: "hello #1", createdAt: new Date()}); 

这也工作过。

当我写这篇文章时,我的前端应用程序显示了所有预期的内容。然后关闭我的电脑,并在某段时间后再次打开并试图运行我的流星应用程序。现在我什么都看不到,在服务器控制台或浏览器的控制台中我都没有错误。那么我不知道哪里出了问题。

请帮忙。

回答

1

您已通过仅在客户端代码中定义集合创建了client-side collection。为了将文档保存到数据库,需要在服务器和客户端上定义一个集合

的快速解决方案是创建一个共享的文件中像lib/collections/resolutions.js其中将包含:

Resolutions = new Mongo.Collection("resolutions"); 

采用新型进口机制,你会创建一个类似imports/api/resolutions/resolutions.js一个文件,该文件将包含:

import { Mongo } from 'meteor/mongo'; 

export const Todos = new TodosCollection('Todos'); 

有关更多详细信息,请参阅指南的this section