如果没有用户,我想创建一个管理员用户。我在服务器文件夹
中的js文件上试了一下Meteor.startup(function () {
if(!Meteor.users.find().count()) {
var options = {
username: 'admin',
password: 'default-password',
email: 'admin@example.com'
};
Accounts.createUser(options);
}
});
这是流星在控制台上显示的错误
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 0.6.1和node.js 0.9.9
答案 0 :(得分:32)
我建议使用/server/fixtures.js文件。在此文件中,您可以添加默认用户创建:
if ( Meteor.users.find().count() === 0 ) {
Accounts.createUser({
username: 'username',
email: 'email',
password: 'asdfasdf',
profile: {
first_name: 'fname',
last_name: 'lname',
company: 'company',
}
});
}
答案 1 :(得分:5)
这种方式对我有用:
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
});
});
答案 2 :(得分:1)
我从来没有发现在Meteor上创建用户有任何问题。 这是我的coffeescript代码:
Meteor.startup ->
if Meteor.users.find.count() is 0
options =
email: 'email@example.com'
password: 'pass'
Accounts.createUser(options)
答案 3 :(得分:0)
过了一段时间,我再次使用meteor 0.6.4测试了上面的代码,它没有问题。可能是meteor 0.6.1的一个问题,或者我偶然在代码中的某处解决了问题。