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

सी # मोंगोडब केस संवेदनशील खोज

Mongodb में स्ट्रिंग फ़ील्ड पर फ़िल्टर करना रेगुलर एक्सप्रेशन का उपयोग किए बिना केस सेंसिटिव है। आप वास्तव में रेगुलर एक्सप्रेशन का उपयोग क्यों नहीं कर सकते?

आपकी क्वेरी को इस तरह संपादित किया जा सकता है:

var filter = Builders<ME_User>.Filter.And(
Builders<ME_User>.Filter.Regex(u => u.Email, new BsonRegularExpression("/^" + email + "$/i"), 
Builders<ME_User>.Filter.Eq(u => u.Password, password));

रेगुलर एक्सप्रेशन ("/i") के अंत में एक संपूर्ण शब्द खोज और सबसे महत्वपूर्ण केस-असंवेदनशील ऑपरेटर निर्दिष्ट करने के लिए "^" और "$" संकेतों पर ध्यान दें।

दूसरा तरीका टेक्स्ट सर्च हो सकता है, जिसके लिए टेक्स्ट इंडेक्स बनाने की आवश्यकता होती है और यह लैटिन वर्णमाला के लिए असंवेदनशील है:http://docs.mongodb.org/manual/reference/operator/query/text/#match-operation

C# में, आप टेक्स्ट फ़िल्टर के साथ प्रयोग करेंगे:

var filter = Builders<ME_User>.Filter.And(
Builders<ME_User>.Filter.Text(email), 
Builders<ME_User>.Filter.Eq(u => u.Password, password));

OR क्लॉज में टेक्स्ट इंडेक्स क्वेरी के साथ, आपको पासवर्ड फ़ील्ड पर भी एक इंडेक्स बनाना होगा, अन्यथा OR क्वेरी एक त्रुटि उत्पन्न करेगी:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला के साथ आईडी द्वारा एक मोंगो उप-दस्तावेज़ का चयन कैसे करें?

  2. MongoDB संग्रह में क्वेरी फ़ील्ड।

  3. कोणीय ऐप में फ़िल्टरिंग मानों को संभालने का एक और शानदार तरीका

  4. स्कीमा से MongoDB कम्पास में 20 से अधिक नवीनतम दस्तावेज़ देखें

  5. मोंगोड और मोंगो विंडोज़ 10 पर काम नहीं कर रहे हैं