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

MongoDb . में जैक्सन का उपयोग करके दिनांक फ़ील्ड को ISODate () के रूप में कैसे स्टोर करें

आपको जो चाहिए वह है जैक्सन जोडा मॉड्यूल। यदि आप इसे अपने क्लासपाथ में आयात करते हैं, तो आप इसे अपने इच्छित टाइमस्टैम्प के रूप में लिखने के लिए अपने मैपर पर निम्न कार्य कर सकते हैं:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
mapper.writeValueAsString(date);

आप date को बदल सकते हैं उपरोक्त कोड नमूने में आवश्यकतानुसार अपने POJO के साथ।

संपादित करें:ऐसा लगता है कि आप वास्तव में जो चाहते हैं वह एक कस्टम धारावाहिक है। यह कुछ इस तरह दिखेगा:

public class IsoDateSerializer extends JsonSerializer<DateTime> {
    @Override
    public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) {
        String isoDate = ISODateTimeFormat.dateTime().print(value);
        jgen.writeRaw("ISODATE(\"" + isoDate + "\")");
    }

फिर आप या तो इसे मैपर पर सभी डेटटाइम प्रकारों के लिए पंजीकृत करेंगे

mapper.addSerializer(DateTime.class, new IsoDateSerializer());

या एनोटेशन का उपयोग करके इसे फ़ंक्शन पर निर्दिष्ट करें

@JsonSerializer(using = IsoDateSerializer.class)
public DateTime createdTime;


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $replaceAll

  2. MongoDB के साथ गलत दूरी की गणना

  3. स्लैक से चैटऑप्स के साथ MySQL, MongoDB और PostgreSQL का प्रबंधन

  4. सरणी आंतरिक-तत्वों द्वारा MongoDB समूह

  5. mongodb पर .bson फ़ाइल स्वरूप आयात कैसे करें