如何在Meteor中修改Accounts.createUser?

时间:2015-04-28 06:59:53

标签: mongodb meteor meteor-accounts

我是流星新手并与现有的mongodb合作。当我在meteor中执行Accounts.createUser时,它会在mongodb中创建用户。默认用户创建结构是。

{
    "createdAt" : ISODate("2015-04-28T06:25:24.584Z"),
    "services" : {
        "google" : {
            "accessToken" : "...",
            "idToken" : "eyJh...",
            "expiresAt" : 1430205913568,
            "email" : "zxy@abc.com",
            "verified_email" : true,
            "name" : "ABC XYZ",
            "given_name" : "ABC",
            "family_name" : "XYZ",
            "picture" : "photo.jpg",
            "locale" : "en"
        },
        "resume" : {
            "loginTokens" : [ 
                {
                    "when" : ISODate("2015-04-28T06:25:24.618Z"),
                    "hashedToken" : "QWTfTNUEcZwb4OvU"
                }
            ]
        }
    }
}

现在我需要修改像。

这样的结构
{
    "email" : "zxy@abc.com",
    "password" : "xyz",
    "loginType": "google",
    "country" : "US",
    "state" : "California",
    "profile_image" : "photo.jpg",
    "fullname" : "ABC XYZ",
    "status" : "active",
    "timestamp" : NumberLong(1420780653),
}

我应该如何或在何处修改默认的用户创建结构?

1 个答案:

答案 0 :(得分:1)

您可以尝试onCreateUser

//server code
Accounts.onCreateUser(function(options, user) {
  //here you can modify user
  if (options.profile)
    user.profile = options.profile;
  return user;
});

但请注意,如果删除 services 字段,用户可能无法使用外部服务登录。