2012-12-29 22 views
2

所以內置的meteor身份驗證系統存儲用戶的電子郵件用戶下,像這樣:什麼是更新流星中的用戶電子郵件地址的最佳方式?

emails: [ { address: [email protected], verified: true} ] 

是否有一個「流星」的方式來設置一個主電子郵件,以及更新的電子郵件地址(或添加/刪除電子郵件) ?

在我看來,如果將是一個很大的簡單,如果他們儲存像這樣:

emails: { '[email protected]': { verified: true } } 

回答

1

你的建議的對象格式是沒有意義的,因爲那時我怎麼請求對象?通常我會說obj.emails[i].address,現在我不得不說...什麼? for (var key in obj.emails) { var email = obj.emails[key]; }?這太複雜了。

要更新電子郵件地址,您應該更改用戶記錄中的電子郵件地址,將其標記爲未驗證,並使用Account.sendVerificationEmail啓動驗證過程。

+1

那麼你會得到與obj.emails [地址]的電子郵件,然後你不必看通過一個數組。據推測,順序無關緊要,唯一性也不重要,因此它比數組更有意義。 – Diogenes

+1

但是,您需要事先知道地址才能夠查找它。情況並非總是如此。該對象不存在只是爲了告訴你它是否被驗證,它存在告訴你哪些電子郵件地址已被註冊爲該用戶。 – Rahul

+0

那麼還需要找到第一個驗證的地址,或者保存主要的電子郵件地址('''profile.primaryEmail''',或''emails [someNumber]:{verified:true,primary:true,address: someAddress}?''')。它很容易做到,但它有點奇怪,因爲流星的其餘部分似乎包含「電池」。首先編碼世界問題,哈哈。 – Diogenes

相關問題