2013-04-10 4 views
13

Hiçbir kullanıcı yoksa yönetici kullanıcı oluşturmak istiyorum. Ben sunucu klasörüneMeteorda varsayılan kullanıcı nasıl oluşturulur?

Meteor.startup(function() { 
    if(!Meteor.users.find().count()) { 
    var options = { 
     username: 'admin', 
     password: 'default-password', 
     email: '[email protected]' 
    }; 
    Accounts.createUser(options); 
    } 
}); 

Bu içinde bir js dosyası üzerinde denedim hata yanlış bir şey yapıyorum ya bu bir meteor hata olduğunu konsolda

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 

o meteor gösterisi?

Meteor 0.6.1 kullanıyorum ve 0.9.9

+0

benzer bir soru var http://stackoverflow.com/questions/11629759/how-can-i-create-users-server-side -in-meteor ama bu sorunu çözmez. – Camilo

+0

Hesap-şifre ve hesap tabanı paketleriniz var mı? – Akshat

+0

Evet. İstemci, giriş, çıkış, vb. Kullanıcıları oluşturabilirim. – Camilo

cevap

0

, ben meteor 0.6.4 ile tekrar yukarıdaki kodu test edilmiş ve bunun sorun olmadan çalıştı. Muhtemelen meteor 0.6.1 ile ilgili bir sorun oldu ya da yanlışlıkla kodun bir yerinde problemi çözdüm.

5

bu şekilde node.js benim için çalışıyor:

var users=[ 
    {email: "[email protected]", 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 
    }); 
}); 
+0

Kodunuzla aynı hatayı aldım. Sunucuya veya istemci tarafına koyar mısın? – Camilo

+0

Sunucu tarafına koydum – lfergon

1

ben Meteor bir kullanıcı oluşturma konusunda herhangi bir sorun bulamadılar. Bu benim CoffeeScript kodudur: Bir süre sonra

Meteor.startup -> 
    if Meteor.users.find.count() is 0 
    options = 
     email: '[email protected]' 
     password: 'pass' 
    Accounts.createUser(options) 
32

Bir /server/fixtures.js dosyası öneririm. Bu dosyada, aşağıdakiler gibi varsayılan kullanıcı oluşturmayı ekleyebilirsiniz:

if (Meteor.users.find().count() === 0) { 
    Accounts.createUser({ 
     username: 'username', 
     email: 'email', 
     password: 'asdfasdf', 
     profile: { 
      first_name: 'fname', 
      last_name: 'lname', 
      company: 'company', 
     } 
    }); 
} 
+2

Meteor sağ her başlatıldığında bu kod en az bir kez çalışır mı? Her iş parçacığı için potansiyel olarak bir kez mi? Sanırım, fixtures.js'nin dosya adı olarak herhangi bir özel önemi olduğunu düşünmediğim için bir Meteor.startup() çağrısına sarılmak istiyor. – chmac

+2

Evet, bu her başlangıçta çalışırdı. Bir Meteor.startup() içinde sarmak, zarar veremez ve yanlışlıkla çalıştırmak için biraz sigorta sağlar. Hayır, dosya adı fixtures.js'nin önemi yoktur. Sanırım Discover Meteor kitabından adını aldım galiba? – SpacePope