2013-11-03 63 views
0

所以现在我得到了很多的方式登录到通过Facebook /谷歌/ GitHub的多我的应用程序。 但事情是,每个服务我得到了几乎相同的数据关于我,特别是电子邮件地址,现在每个服务流星创建新帐户,我想知道如何检查,如果我的数据库中的某些用户已经使用特定的电子邮件(这是唯一的当然)和,而不是创建新用户只是延长了服务对象,如果没有这样的用户尚未然后创建它(或类似) (扩展的例子)。 (用户点击通过Facebook登录):流星用户创建costumizion

{ "createdAt" : ISODate("2013-11-03T17:13:14.232Z"), 
"_id" : "xxx", "services" : { "facebook" : { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz" 

等 然后注销后,并与谷歌登录用户对象将是这样的:

{ "createdAt" : ISODate("2013-11-03T17:13:14.232Z"), 
"_id" : "xxx", "services" : { "facebook" : { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz" and more of facebook...} //end of facebook service, google:{ { "accessToken" :xxx", "expiresAt" : xxx, "id" : "1841894180", "email" : "xxx", "name" : "Boaz Hoch", "first_name" : "Boaz" and more 

这方面的任何最佳做法?

回答