如果多个电子邮件与同一帐户关联,则获取登录用户的电子邮件地址

时间:2018-09-18 12:58:23

标签: reactjs meteor

通常,用户将多个电子邮件地址与同一帐户关联。但是问题是,是否有办法知道使用哪个电子邮件用户登录到系统?

注意:我们严格使用电子邮件登录,而不使用用户名。

Mongodb用户通过电子邮件发送数组结构:

"emails" : [ 
    {
        "address" : "xyz@abc.com",
        "verified" : true
    },
    {
        "address" : "prq@abc.com",
        "verified" : true
    },
    {
        "address" : "jkl@abc.com",
        "verified" : true
    }
],

问题陈述- 一个需要订购X项,而在系统中下订单时,我们需要登录用户的电子邮件地址来保存该特定订单。这样就可以接收与此特定订单有关的通知。

如果我们在登录时将登录用户的电子邮件地址保存到自定义数据库字段中可能会起作用,但问题是如果另一个拥有相同帐户的用户登录,则第二个用户的电子邮件将更新为数据库,并且他/她的电子邮件将被保存按用户1放置的顺序。

谢谢。

1 个答案:

答案 0 :(得分:0)

实现此目标的最佳方法是在登录用户模型的自定义字段时存储每个用户使用的最后一封电子邮件。

使用服务器端的Account.onLogin钩子或自定义登录表单,可以使用用户的上一封电子邮件。然后,您应该为每个用户in a custom field such as user.lastEmail保存此电子邮件地址。

如果您这样做并且需要用户端的lastEmail,请不要忘记将自定义字段发布到您的客户端,例如described in the documentation