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

MongoDB-एस्केप डॉट्स '।' मानचित्र कुंजी में]

स्प्रिंग डेटा MongoDB का उपयोग करते समय आपको इसका एक उदाहरण मिलता है:org.springframework.data.mongodb.core.convert.MappingMongoConverter जिसमें mapKeyDotReplacement . है डिफ़ॉल्ट रूप से शून्य पर सेट करें - यही कारण है कि आपको अपवाद मिल रहा है।

आपको या तो org.springframework.data.mongodb.core.convert.MappingMongoConverter का अपना इंस्टेंस बनाना होगा या इसके प्रदाता सेटर विधि का उपयोग करके मौजूदा उदाहरण को संशोधित करें:

/**
 * Configure the characters dots potentially contained in a {@link Map} shall be replaced with. By default we don't do
 * any translation but rather reject a {@link Map} with keys containing dots causing the conversion for the entire
 * object to fail. If further customization of the translation is needed, have a look at
 * {@link #potentiallyEscapeMapKey(String)} as well as {@link #potentiallyUnescapeMapKey(String)}.
 * 
 * @param mapKeyDotReplacement the mapKeyDotReplacement to set
 */
public void setMapKeyDotReplacement(String mapKeyDotReplacement) {
    this.mapKeyDotReplacement = mapKeyDotReplacement;
}

MongoDB में, डॉट को हमेशा एक विशेष चरित्र के रूप में माना जाता है, इसलिए इससे बचने से भविष्य में आपको किसी अन्य सिरदर्द से बचने की संभावना है।

संपादित करें:डिफ़ॉल्ट को ओवरराइड करने के लिए MappingMongoConverter निम्नलिखित बीन घोषणा जोड़ें:

  @Bean
  public MappingMongoConverter mongoConverter(MongoDbFactory mongoFactory) throws Exception {
    DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoFactory);
    MappingMongoConverter mongoConverter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
    mongoConverter.setMapKeyDotReplacement(".");

    return mongoConverter;
  }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब जावा - प्रतिबंधित फ़ील्ड को खोजने () या findOne () के साथ कैसे वापस करें

  2. मोंगो एंबेडेड दस्तावेज़ क्वेरी

  3. मैक ओएस एक्स के साथ डॉकर मोंगोडब शेयर वॉल्यूम

  4. MongoDB में कर्सर क्या है?

  5. SQL के SELECT DISTINCT के बराबर मानगो?