Meteor帐户密码只返回_id

时间:2016-10-01 16:15:00

标签: javascript mongodb meteor meteor-accounts

我已经通过带有此数据的登录表单插入了一个帐户

Template.register.events({
    'submit form': function(event) {
        event.preventDefault();
        var email = $("[name=email]").val();
        var password = $("[name=password]").val();
        var username = $("[name=username]").val();
        var firstname = $("[name=firstname]").val();
        var lastname = $("[name=lastname]").val();
        Meteor.users.insert({
            email: email,
            password: password,
            username: username,
            firstname: firstname,
            lastname: lastname
        });
    }
});

由于它只是一个原型,我想通过在浏览器控制台上运行此命令来确保数据是否已插入:

Meteor.users.find().fetch();

但它只获取插入的_id而不是我插入到集合中的所有数据。它是某种流星帐户 - 密码安全吗?如果是这样,我如何查看已插入集合的所有数据。

提前致谢。

2 个答案:

答案 0 :(得分:1)

用户集合是“特殊的”有充分理由,你不能定期插入它。你需要做这样的事情:

if (Meteor.users.find({ emails: {$elemMatch: {address: email}}}).fetch().length === 0) {
    id = Accounts.createUser({
        email: email,
        password: password,
        username: username, 
        profile: { firstname: firstname, lastname: lastname }
    });

它会照顾您的密码加密。

答案 1 :(得分:0)

要查看答案,请访问以下链接:Meteor.user() returns only its _id

这个链接包含一个很好的信息,帮助我解决了这个问题: http://joshowens.me/the-curious-case-of-the-unknowing-leaky-meteor-security/

我一直很忙,几周没有检查meteorjs,并且对新的用户帐户包有点困惑。如果有人想知道用户帐户数据的样子,这是用户帐户文档的参考:http://docs.meteor.com/api/accounts.html#Meteor-user