javascript - Angular-meteor 用户集合仅返回 1 个对象

标签 javascript angularjs mongodb meteor

我正在编写一个应用程序,以 Angular 作为前端,以 Meteor 作为后端,我想检索“Users”集合中的每个用户(添加了accounts-ui 和accounts-password 模块)。但是当我执行下面的代码时,它只返回一个对象(最后添加的),而有 3 个用户。

if(Meteor.isClient){
angular.module('timeAppApp')
.controller('SignInCtrl', function($scope, $meteor, $location) {

    $scope.LogIn = function() {
        console.log($meteor.collection(Meteor.users).subscribe('users_by_email', $scope.username));
        console.log($meteor.collection(Meteor.users).subscribe('all_users'));
    };

});

}

if (Meteor.isServer) {
    // Returns all users find by email
    Meteor.publish('users_by_email', function(emailE){
        return Meteor.users.find({'emails.address': emailE});
    });

Meteor.publish('all_users', function(){
    return Meteor.users.find({}, {fields: {emails: 1}});
})

我是 meteor 新手,所以我仍在尝试,但现在我真的陷入困境。

最佳答案

试试这个, 在服务器端

Meteor.methods({
     get_users_by_email: function (emailE) {
         return Meteor.users.find({ emails: { $elemMatch: { address: emailE } } }).fetch();
    }
});

在客户端

$meteor.call('get_users_by_email', $scope.username).then(
            function(data){
                console.log('success get_users_by_email', data);
            },
            function(err){
                console.log('failed', err);
            }

        );

关于javascript - Angular-meteor 用户集合仅返回 1 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32453003/

相关文章:

javascript - 在 Symfony 2 中生成动态 javascript 的正确方法?

angularjs - Firebase snapshot.val() 未绑定(bind)到 $scope

ruby - Docker for mac - 无法从容器内部连接到主机上运行的 mongo 副本集

javascript - 禁用光标/编辑但保持聚焦能力

javascript - jQuery:如何使 css ('line-height' ) 跨浏览器工作

javascript - 在 AngularJS Material 底页中使用输入

Angularjs 从routeProvider 检索参数

python - PyMongo 返回 float 而不是整数

mongodb - MongoDB whole/data/db在一次电击导致crash后没了正常吗

javascript - jQuery - 按单元格值对 tr 着色