MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

लेखन त्रुटि:db.Collection एक कार्य नहीं है

इसलिए मैंने उस उत्तर के लिए मतदान किया, जिसमें कहा गया था कि मैं सिर्फ mongodb 2.2.33 पर जाऊं क्योंकि मैंने इसे आजमाया और यह काम कर गया, लेकिन फिर मुझे एक समस्या को ठीक करने के लिए सिर्फ डाउनग्रेड करने के बारे में अजीब लगा, इसलिए मुझे वह समाधान मिला जो आपको संस्करण रखने की अनुमति देता है> =3.0. अगर किसी को यह समस्या मिलती है और उनकी समस्या स्वीकृत उत्तर की तरह रिक्त संदर्भ में नहीं जा रही थी, तो इस समाधान को आजमाएं।

जब आप दौड़ते हैं..

MongoClient.connect(db.url,(err,database) =>{ }

मोंगोडब संस्करण>=3.0 में, वह database वेरिएबल वास्तव में उस ऑब्जेक्ट की मूल वस्तु है जिसे आप database.collection('whatever') के साथ एक्सेस करने का प्रयास कर रहे हैं। . सही ऑब्जेक्ट तक पहुंचने के लिए, आपको अपने डेटाबेस नाम का संदर्भ देना होगा, मेरे लिए जो कर रहा था

MongoClient.connect(db.url,(err,database) =>{ 
  const myAwesomeDB = database.db('myDatabaseNameAsAString')
  myAwesomeDB.collection('theCollectionIwantToAccess')
}

इसने मेरे नोड.जेएस सर्वर को चलाते समय मेरी त्रुटियों को ठीक किया, उम्मीद है कि इससे किसी ऐसे व्यक्ति को मदद मिलेगी जो अपने संस्करण को डाउनग्रेड नहीं करना चाहता।

(साथ ही, यदि आप किसी कारण से अपना डीबी नाम नहीं जानते हैं, तो बस एक कंसोल.लॉग (डेटाबेस) करें और आप इसे ऑब्जेक्ट एट्रिब्यूट के रूप में देखेंगे)

संपादित करें (जून 2018):

इसके अनुसार, कॉलबैक वास्तव में डेटाबेस के बजाय डेटाबेस के कनेक्टेड क्लाइंट को लौटाता है।

इसलिए, डेटाबेस इंस्टेंस प्राप्त करने के लिए, हमें इस पद्धति का उपयोग करने की आवश्यकता है, जो एक dbName . लेता है . दस्तावेज़ीकरण में यह कहा गया है If not provided, use database name from connection string. , जैसा कि नीचे दी गई टिप्पणियों में @divillysausages द्वारा बताया गया है।

संक्षेप में, हमें database.db().collection('theCollectionIwantToAccess'); को कॉल करना चाहिए। यदि dbName url द्वारा प्रदान किया जाता है, जहाँ database वास्तव में client है बेहतर समझ के लिए



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कैसे MongoDB डेटाबेस ऑटोमेशन सुरक्षा में सुधार करता है

  2. विशिष्ट फ़ील्ड - mongoDB के आधार पर किसी सरणी में अद्वितीय आइटम कैसे सुनिश्चित करें?

  3. MongoError:कनेक्ट ECONNREFUSED 127.0.0.1:27017

  4. मोंगोडब में मेल खाने वाली या शर्तों का प्रतिशत

  5. मोंगोडब अद्यतन गहराई से नेस्टेड उप-दस्तावेज़