MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Memfilter TahunBulan dari dokumen Mongo

Anda perlu membuat codec khusus untuk Bulan Tahun karena ini bukan tipe Bson standar. Ini melibatkan dua langkah. Sesuaikan berdasarkan kebutuhan Anda.

Buat codecnya

public class YearMonthCodec implements Codec<YearMonth> {

    public void encode(BsonWriter writer, YearMonth value, EncoderContext encoderContext) {

        writer.writeStartDocument();

        writer.writeName("year");
        writer.writeInt32(value.getYear());
        writer.writeName("month");
        writer.writeInt32(value.getMonth().getValue());

        writer.writeEndDocument();

    }

    public Class<YearMonth> getEncoderClass() {
        return YearMonth.class;
    }

    public YearMonth decode(BsonReader reader, DecoderContext decoderContext) {

        reader.readStartDocument();

        int year = reader.readInt32("year");
        int month = reader.readInt32("month");

        reader.readEndDocument();

        return YearMonth.of(year, month);

    }

}   

Daftarkan codec dengan klien Mongo

CodecRegistry codecRegistry = CodecRegistries.fromRegistries(CodecRegistries.fromCodecs(new YearMonthCodec()),
        MongoClient.getDefaultCodecRegistry());
MongoClientOptions options = MongoClientOptions.builder().codecRegistry(codecRegistry).build();
MongoClient mongoClient = new MongoClient(new ServerAddress(), options);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Skema untuk Peringkat Pengguna - DB Kunci/Nilai

  2. Periksa otentikasi MongoDB dengan driver Java 3.0

  3. Mengonfigurasi oauth2-server-laravel dengan laravel-mongodb

  4. Luwak - Agregasi $cocok berdasarkan nilai enum

  5. Pilih bidang bersarang di mongo db