private <F> F decode(EntityField<F> field, BsonReader reader, DecoderContext decoderContext) {
        Codec<F> codec = getCodec(field);
        return decoderContext.decodeWithChildContext(codec, reader);
    }
Compared to {@link EntityCodec#encodeValue}, this method encodes null fields because we need
to overwrite existing fields to null if these fields are not specified in the entity for our
use cases.
turms-server-common/src/main/java/im/turms/server/common/storage/mongo/codec/EntityCodec.java