2013-04-10 7 views
13

यदि कोई उपयोगकर्ता मौजूद नहीं है तो मैं एक व्यवस्थापक उपयोगकर्ता बनाना चाहता हूं। मैं सर्वर फ़ोल्डरउल्का पर एक डिफ़ॉल्ट उपयोगकर्ता कैसे बनाएँ?

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

यह अंदर एक js फ़ाइल पर यह कोशिश की त्रुटि है कि कंसोल

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 

मैंने कुछ गलत कर रहा हूँ या यह एक उल्का बग है पर उल्का शो है?

मैं उल्का 0.6.1 का उपयोग कर रहा है और 0.9.9

+0

एक ऐसी ही सवाल ही नहीं है http://stackoverflow.com/questions/11629759/how-can-i-create-users-server-side -इन-उल्का लेकिन इस समस्या को हल नहीं करता है। – Camilo

+0

क्या आपके पास खाता-पासवर्ड और खाता-बेस पैकेज हैं? – Akshat

+0

हां। मैं क्लाइंट, लॉगिन, लॉगआउट इत्यादि से उपयोगकर्ता बना सकता हूं – Camilo

उत्तर

0

कुछ समय के बाद, मैं फिर से ऊपर कोड उल्का 0.6.4 के साथ परीक्षण किया है और यह समस्या के बिना काम किया। शायद उल्का 0.6.1 के साथ एक मुद्दा था या मैंने गलती से कोड में समस्या को हल किया।

5

Node.js इस तरह से मेरे लिए काम करता है:

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

मुझे आपके कोड के साथ एक ही त्रुटि मिली है। क्या आप इसे सर्वर या क्लाइंट साइड पर डालते हैं? – Camilo

+0

मैंने सर्वर की तरफ – lfergon

1

मैं उल्का पर एक उपयोगकर्ता बनाने पर किसी भी समस्या कभी नहीं पाया है। यह मेरा coffeescript कोड है:

Meteor.startup -> 
    if Meteor.users.find.count() is 0 
    options = 
     email: '[email protected]' 
     password: 'pass' 
    Accounts.createUser(options) 
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', 
     } 
    }); 
} 
+2

डाल दिया है यह कोड कम से कम एक बार मेटर शुरू होने पर एक बार चलाएगा? संभावित रूप से प्रत्येक धागे के लिए एक बार? मुझे लगता है कि यह एक meteor.startup() कॉल में लपेटा जाना चाहता है क्योंकि मुझे नहीं लगता कि 'fixtures.js' का फ़ाइल नाम के रूप में कोई विशेष महत्व है। – chmac

+2

हां, यह स्टार्टअप पर हर बार चलेंगे। एक meteor.startup() में लपेटना चोट नहीं पहुंचा सकता है, और मुझे लगता है कि गलती से चलाने के खिलाफ थोड़ा बीमा प्रदान करेगा, मुझे लगता है। नहीं, फ़ाइल नाम फिक्स्चर.जेएस का कोई महत्व नहीं है। मुझे लगता है कि मुझे शायद डिस्कवर मेटियर पुस्तक से नाम मिला है? – SpacePope

संबंधित मुद्दे