2017-11-08 4 views
0

Was ist falsch an diesem Code? Es befindet sich in einem "Server" -Ordner. Zeile 11 wird hier im Fehlerprotokoll aufgerufen.Meteor.users-Sammlung ist auf dem Server nicht definiert

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; 
}); 

Das Terminal (Server) Protokolle:

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

+0

ist db.users zugänglich von Mongo Shell? – Jankapunkt

Antwort

2

Ihre Import Meteor Linie falsch ist, was bedeutet, dass Sie mit dem Standard oder Namespace Export arbeiten. Im Falle von Meteor, bedeutet, dass Sie ein Objekt mit bekommen:

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

die Sie interessieren Meteor direkt zu erhalten:

import { Meteor } from 'meteor/meteor'; 

Das es beheben sollte.

Wenn es nicht, versuchen meteor remove accounts-password und meteor add accounts-password wieder

Verwandte Themen