2017-11-08 10 views
0

このコードで何が問題になっていますか?これは "server"フォルダの内側にあります。ここで11行目がエラーログに呼び出されます。Meteor.usersコレクションがサーバーで定義されていません

import { Accounts } from 'meteor/accounts-base'; 
import generatePincode from '../../../utils/generate-pincode'; 
import Meteor from 'meteor/meteor'; 

Accounts.onCreateUser((options, user) => { 
    const customizedUser = Object.assign({ 
    'pincode': generatePincode(4), 
    }, user); 

    // check that the pincode doesn't already exist 
    const existingUser = Meteor.users.findOne({ 
    'pincode': customizedUser.pincode, 
    }); 
    if (existingUser) { 
    throw new Meteor.Error(500, 
     'Duplicate pincode generated, please try again.'); 
    } 

    // We still want the default hook's 'profile' behavior. 
    if (options.profile) { 
    customizedUser.profile = options.profile; 
    } 
    return customizedUser; 
}); 

ターミナル(サーバー)のログ:

Exception while invoking method 'createUser' TypeError: Cannot read property 'findOne' of undefined

+0

再びmeteor remove accounts-passwordmeteor add accounts-passwordを試していない場合のmongoシェルでアクセスdb.usersのですか? – Jankapunkt

答えて

2

あなたの輸入流星ラインは、デフォルトまたは名前空間の輸出に取り組んでいることを意味する、間違っています。直接流星を取得するには、これを試してみてください

{ 
    Meteor: [Meteor object], 
    global: [Window on client and global on server], 
    meteorEnv: [env vars] 
} 

:それを修正する必要があり

import { Meteor } from 'meteor/meteor'; 

を流星の場合、それはあなたが持つオブジェクトを得ることを意味します。

それは、

関連する問題