2015-06-22 5 views
9

मेरे आवेदन में मैं कोडों को संभालने के लिए डेटाबेस के रूप में MongoDB का उपयोग कर रहा हूं और Express + Mongoose का उपयोग कर रहा हूं। मैंने डेटाबेस में उपयोगकर्ता को जोड़ा है और उपयोगकर्ता के लिए readWrite भूमिका दी है, अब मैं डेटाबेस से डेटा प्राप्त कर सकता हूं। लेकिन जब मैं फ़ंक्शन Express + Mongoose में फ़ंक्शन का उपयोग करके संग्रह सम्मिलित करने का प्रयास कर रहा हूं, तो मुझे निम्न त्रुटि संदेश मिला और मुझे यह नहीं मिला कि उपयोगकर्ता को findandmodify विशेषाधिकार कैसे जोड़ा जाए।MongoDB - उपयोगकर्ता को खोजने के लिए उपयोगकर्ता को खोजने के लिए विशेषाधिकार

{"name":"MongoError", 
    "ok":0, 
    "errmsg":"not authorized on od-database to execute command { findandmodify: \"identitycounters\", 
    query: { 
     field: \"id\", 
     model: \"Products\" }, 
    new: 1 , 
    remove: 0, 
    upsert: 0, 
    update: { $inc: { count: 1 } } }","code":13} 

कृपया मेरी मदद करें।

+0

कृपया कोड के टुकड़े डेटाबेस नाम पता चलता है कि साझा करते हैं, कैसे आप 'बुला mongoose.createConnection' और कैसे आप कर रहे हैं उपयोगकर्ता को अनुमति दे रहे हैं। धन्यवाद! –

+0

कृपया हमें बैकएंड पर अपना कोड दिखाएं, फिर हम आपको इस समस्या को ठीक करने में मदद करेंगे। –

उत्तर

0

उसे dbAdmin भूमिका देने का प्रयास करें।

0

या प्राधिकरण को अक्षम करने या डेटाबेस से कनेक्ट होने वाले उपयोगकर्ता को जोड़ने का प्रयास करें।
डेटाबेस के लिए किसी उपयोगकर्ता को जोड़ने का एक उदाहरण:

db.createUser({ 
    user: "admin", 
    pwd: "test", 
    roles: [ { role: "dbAdmin", db: "shop" } ] 
}) 

कहाँ:

  • db:"shop" - नाम डेटाबेस
  • है
  • pwd: "test" - पासवर्ड डेटाबेस
  • user: "admin" - उपयोगकर्ता जो कनेक्शन के माध्यम से डेटाबेस में, उदाहरण db.auth('admin', 'test')
1

मैं mongoDB पर गैर प्रणाली दस्तावेज़ save और findAndModify आपरेशन कर कनेक्ट करने के लिए readWrite भूमिका के साथ एक उपयोगकर्ता परीक्षण, उन दोनों को सफलतापूर्वक किया जा सकता है।

mongoose.createConnction या mongoose.connect में db कनेक्ट करने के लिए सुनिश्चित करें कि

  • सही यूज़रनेम और पासवर्ड करें।
  • यह उपयोगकर्ता भूमिका के साथ db.system.users में मौजूद है।
  • readWrite उपयोगकर्ता केवल system.js संग्रह संग्रह सभी गैर सिस्टम पर डेटा को संशोधित कर सकते
संबंधित मुद्दे