Meteor localhost,无法通过控制台访问本地集合

时间:2014-02-27 17:03:38

标签: mongodb meteor meteorite

执行以下操作可以正常工作:

$ mrt create testapp
$ cd testapp
$ mkdir local
$ cd local
$ mkdir collections
$ touch test.js

在test.js中,我添加:

Test = new Meteor.Collection('test');

然后我开始流星:

$ meteor

打开一个新的控制台选项卡,我启动Mongo:

$ meteor mongo

我插入一个条目:

$ db.test.insert({ Title: "This is a test" });

我在localhost上打开浏览器,可以使用控制台查看:

test.findOne();

好的,所以这是有效的,因为它应该如此。但是,我有一个我正在研究的项目,我已经工作了几天。我无法弄清楚导致问题的是什么,但我无法通过控制台访问这些集合。

Posts = new Meteor.Collection('posts');

我使用mongo控制台插入测试帖,并可以使用mongo控制台检索它,但在浏览器中我得到:

Posts.findOne();
-- undefined

我一直在挖掘,无法弄清楚我可能做些什么导致它无法正常工作。我最初从localhost启动了这个应用程序,但在MongoHQ上托管了一个远程数据库。但我删除了本地内部的DB文件夹,重置了应用程序。重置mongo。我创建了一个新的文件夹并复制了基本文件,因此流星基本上是第一次运行。我无法弄清楚问题。

:(

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您必须以客户端和服务器都可以看到它的方式定义集合。如果服务器没有集合定义,则它无法代表客户端写入数据库。我建议将它放在像collections/posts.js这样的文件中。