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

सर्वर का सर्वर पता कैसे प्राप्त करें जिससे डेटा खींचा जाता है

दुर्भाग्य से, सी # ड्राइवर स्रोत कोड (और जावा स्रोत कोड यह देखने के लिए कि यह क्या कर रहा था) के माध्यम से थोड़ा गहरा खोदने के बाद, वास्तविक सर्वर पता जो कि लाने के हिस्से के रूप में उपयोग किया गया था, एक निजी सदस्य के रूप में एन्यूमरेटर में छिपा हुआ है (_serverInstance )।

विशेष रूप से, यह MongoCursorEnumerator नामक एक वर्ग में छिपा हुआ है . दुर्भाग्य से, इसे प्राप्त करने का कोई "ईमानदार" तरीका नहीं है। आप .NET प्रतिबिंब का उपयोग कर सकते हैं मुझे लगता है कि इसे प्राप्त करने के लिए, लेकिन यह आमतौर पर एक अच्छा विचार नहीं है, खासकर उस कोड के साथ जो आपके पास नहीं है। यदि आप ड्राइवर का एक कस्टम कांटा चाहते हैं, तो आप इसे आसानी से एक नई संपत्ति के रूप में जोड़ सकते हैं। हो सकता है कि आप यहां कोई समस्या जोड़ना चाहें ।

सामान्य तौर पर, आप MongoDB कनेक्शन द्वारा उपयोग किए गए उदाहरण प्राप्त कर सकते हैं, क्योंकि वे MongoServerInstance पर उपलब्ध हैं। वर्ग, Address संपत्ति।

var client = new MongoClient();
var server = client.GetServer();
// server.Instance.Address

दस्तावेज़ीकरण

हालांकि, आपके मामले में आप इसे cursor . से भी प्राप्त कर सकते हैं Server . के माध्यम से संपत्ति:

cursor.Server.Instance.Address.Host

या

cursor.Server.Instances[] 

कर्सर सर्वर दस्तावेज़ीकरण

एक से अधिक इंस्टेंस उपलब्ध होने पर सी # ड्राइवर दिलचस्प रूप से फेंकता है और अपवाद करता है। इसलिए, यदि आप नहीं जानते कि कितने उदाहरण हैं, तो आपको या तो exception को संभालने की आवश्यकता है (InvalidOperationException ), या हमेशा Instances[] . का उपयोग करें संबंधित उदाहरणों को वापस करने के लिए संपत्ति।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सरणी तत्वों की तुलना करें, सबसे कम स्कोर वाले को हटा दें

  2. Manjaro . पर MongoDB स्थापित करें

  3. हैंडल न किया गयाPromiseRejectionWarning:MongooseServerSelectionError

  4. नोडज से मोंगोडब में वस्तु की एक बड़ी सरणी सम्मिलित करना

  5. क्या मोंगोडब बैकअप स्वचालित रूप से बनाए जाते हैं?