【发布时间】:2016-07-15 19:54:44
【问题描述】:
我正在尝试使用 Angular-Meteor 中的集合中的数据,但到目前为止我无法访问它。
在 lib/collections.js 我定义了集合:
UserMeta = new Mongo.Collection('userMeta');
server/publish.js 发布它:
Meteor.publish('userMeta', function() {
return UserMeta.find();
});
在我的客户端代码中 client/scripts/controllers/settings.controller.js 我订阅了:
angular
.module('App')
.controller('SettingsCtrl', SettingsCtrl);
function SettingsCtrl($scope, $reactive) {
$reactive(this).attach($scope);
this.subscribe('userMeta');
//...
}
我发现似乎有多种订阅方式(甚至在 Angular-Meteor 的官方教程中使用不一致),但我决定使用 v.1.3.2 的最新语法:Subscribe API
但是如果我想查看集合的全部内容,它会返回一个空数组:
console.log(UserMeta.find().fetch()); // =[]
或者:
console.log(UserMeta.findOne()); // =undefined
但是,如果我在浏览器的客户端控制台中运行这些命令,则会返回预期的结果。
谁能给我一个简短的例子,我可以如何处理我的收藏?我已经习惯了(纯)Meteor 处理这个问题的方式,并且很困惑它在 Angular-Meteor 中似乎并不那么简单。
【问题讨论】:
标签: javascript angularjs mongodb meteor angular-meteor