4
我使用Meteor啓動函數在服務器上創建默認用戶。我想創建一個用戶並在啓動時驗證他/她的電子郵件(我假設你只能在創建帳戶後執行此操作)。如何在Meteor創建用戶時獲取用戶ID?
這是我有:
Meteor.startup(function() {
// Creates default accounts if there no user accounts
if(!Meteor.users.find().count()) {
// Set default account details here
var barry = {
username: 'barrydoyle18',
password: '123456',
email: '[email protected]',
profile: {
firstName: 'Barry',
lastName: 'Doyle'
},
roles: ['webmaster', 'admin']
};
// Create default account details here
Accounts.createUser(barry);
Meteor.users.update(<user Id goes here>, {$set: {"emails.0.verified": true}});
}
});
正如我所說的,我認爲,用戶必須要設置的驗證標誌爲真(如果這種說法是錯誤的請出示的解決方案,以使前第一次創建在創建用戶時標誌爲真)。
爲了將電子郵件驗證標誌設置爲true,我知道我可以在創建後使用Meteor.users.update(userId, {$set: {"emails.0.verified": true}});
更新用戶。
我的問題是,我不知道如何獲得我新創建的用戶的用戶ID,我該怎麼做?
替代選項會運行,但已驗證標誌仍然爲false。我應該在'createUsers'函數之前還是之後運行'onCreateUser'函數?目前我正在運行它。 –
第二種解決方案是簡單地爲創建帳戶時註冊一個回叫。通過在其中放置一個console.log()來驗證它是否按預期運行。該回調中的代碼應該在創建新帳戶時運行,而不僅僅是在這個單一實例中。至於第一個解決方案,我修改它不包括回調。 –
你的新的第一個解決方案做到了!感謝您的時間 :) –