如何在meteor上创build一个默认用户?
如果没有用户存在,我想创build一个pipe理员用户。 我尝试了在服务器文件夹内的js文件
Meteor.startup(function () { if(!Meteor.users.find().count()) { var options = { username: 'admin', password: 'default-password', email: 'admin@example.com' }; Accounts.createUser(options); } });
这是meteor在控制台上显示的错误
Error at app/packages/livedata/livedata_common.js:143:26 at /Users/camilo/Documents/Proyectos/IM/interno/.meteor/local/build/server/server.js:282:7 at Array.forEach (native) at Function._.each._.forEach (/Users/camilo/.meteorite/meteors/meteor/meteor/0ffea1c4c308ed24906984f99b13b8fca5a0956c/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) at run (/Users/camilo/Documents/Proyectos/IM/interno/.meteor/local/build/server/server.js:227:7) => Exited with code: 1
我做错了什么或这是一个meteor错误?
我使用meteor0.6.1和node.js 0.9.9
我会build议一个/server/fixtures.js文件。 在这个文件中,你可以添加你的默认用户创build:
if ( Meteor.users.find().count() === 0 ) { Accounts.createUser({ username: 'username', email: 'email', password: 'asdfasdf', profile: { first_name: 'fname', last_name: 'lname', company: 'company', } }); }
这种方式适用于我:
var users=[ {email: "dgra@gmail.com", username: "gra", name: "gra", roles:['admin']} ]; _.each(users, function(user){ Accounts.createUser({ email: user.email, password: "admin", profile: {username: user.username}, profile: {name: user.name}, roles: user.roles }); });
我从来没有发现在meteor上创build用户的任何问题。 这是我的咖啡代码:
Meteor.startup -> if Meteor.users.find.count() is 0 options = email: 'email@example.com' password: 'pass' Accounts.createUser(options)
一段时间后,我再次用meteor0.6.4testing了上面的代码,并且没有问题。 或许是meteor0.6.1的一个问题,或者我意外地在代码的某个地方解决了这个问题。