【发布时间】:2015-12-12 14:43:01
【问题描述】:
我正在完成我的第一个 Meteor 构建,我到达了某个点并撞到了墙上。我无法访问我的集合,起初我认为这是我的查询语法的问题,但我认为不是。
我尝试过:db.collection.find(),它在 Mongo shell 中按预期工作,但在客户端,db.collection.find() 返回LocalCollection.Cursor,它只是给了我与当前集合相关的函数和原型的列表。
db.collection.find().fetch() 只返回{}。
更多信息:我已经安装了 admin-ui,并通过它设置了一个架构。当前用户是管理员,分配了管理员角色。
提前感谢您的帮助。我正在努力调试这个。
【问题讨论】:
-
只是问,你有没有发布收藏并订阅它?
-
据我了解,这可能会进一步做一些事情——默认情况下,meteor 没有设置为需要订阅,对吗?无论哪种方式,我都遵循这些步骤并确保该集合已发布和订阅。 ...与 db.find().fetch() 看起来仍然相同,并且我的查询返回相同的内容。
-
您在代码中的某个位置定义了集合。像
collection = new Mongo.Collection("collection");这样的东西。客户端和服务器都应该可以访问该集合。并省略db.,只写collection.find().fetch();。如果没有找到项目,它应该返回 [],一个空数组,而不是 {},它是一个没有属性的对象。 -
如果您安装了自动发布包,您应该能够从客户端看到您的收藏,而无需发布/订阅。您可以查看文件
.meteor/packages以查看是否安装了自动发布。
标签: javascript mongodb meteor