MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lọc Năm tháng từ tài liệu Mongo

Bạn sẽ cần tạo codec tùy chỉnh cho Tháng Năm vì đây không phải là loại Bson tiêu chuẩn. Điều này bao gồm hai bước. Điều chỉnh dựa trên nhu cầu của bạn.

Tạo codec

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);

    }

}   

Đăng ký codec với ứng dụng khách 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. Trường Số MongoDB sẽ không chèn hoặc cập nhật với số mà tôi nhập

  2. Truy vấn Mongodb find ():chỉ trả về các giá trị duy nhất (không trùng lặp)

  3. Không thể truy vấn mongoDB với mongoose trong node.js

  4. mô hình mongoose .js mà không xuất, yêu cầu trong thư mục bao phấn vẫn hoạt động nó giản đồ

  5. Cập nhật nhiều tài liệu trong một bộ sưu tập bằng cách sử dụng trường hợp chuyển đổi