1

寻求帮助编写发布/订阅代码以发布一组代表 Meteor.users 的电子邮件地址的记录。这对我来说很棘手,因为发布方法需要基于另一个集合创建并返回一个新集合......

4

1 回答 1

0

您不想对出版物/订阅执行此操作。我建议制作一个Meteor Method。您可以从客户端调用它,在服务器上(因为服务器有权访问所有内容)它将收集所有电子邮件,并将其发送回客户端。然后,您不必让客户端访问其他任何内容。

// On the server
Meteor.methods({
    userEmails: function() {
        users = [];

        // For each user, add the user's address to the array
        Meteor.users.forEach(function(user) {
            users.push(user.emails[0].address);
        });

        // Return the array of emails
        return users;
    }
});

然后,您可以从客户端调用它:

// On the client
Meteor.call('userEmails', function (error, result) {
    // When the server returns the list of emails, this will run
    if (error) {
        // There was an error
    } else {
        // Do something with the result, which is the array of emails
    }
});
于 2013-05-22T18:47:31.130 回答