docs: @IocBean(name = "mongoClientOptions")
      public MongoClientOptions createMongoClientOptions() {
          // 连接选项控制
          MongoClientOptions.Builder builder = MongoClientOptions.builder();
          builder.minConnectionsPerHost(conf.getInt(PROP_MIN_CONNECTIONS_PER_HOST, 0));
          builder.connectionsPerHost(conf.getInt(PROP_MAX_CONNECTIONS_PER_HOST, 100));
          builder.threadsAllowedToBlockForConnectionMultiplier(conf.getInt(PROP_THREADS, 5));
          builder.maxWaitTime(conf.getInt(PROP_MAX_WAIT_TIME, 1000 * 60 * 2));
          builder.connectTimeout(conf.getInt(PROP_CONNECT_TIMEOUT, 1000 * 10));
          builder.socketTimeout(conf.getInt(PROP_SOCKET_TIMEOUT, 0));
          // 写入的策略
          if (conf.has(PROP_WRITECONCERN)) {
              builder.writeConcern(WriteConcern.valueOf(conf.get(PROP_WRITECONCERN).trim().toUpperCase()));
          }
          // 读取的策略
          if (conf.has(PROP_READCONCERN)) {
              switch (conf.get(PROP_READCONCERN).trim().toUpperCase()) {
              case "DEFAULT":
                  builder.readConcern(ReadConcern.DEFAULT);
                  break;
              case "LOCAL":
                  builder.readConcern(ReadConcern.LOCAL);
                  break;
              case "MAJORITY":
                  builder.readConcern(ReadConcern.MAJORITY);
                  break;
              case "LINEARIZABLE":
                  builder.readConcern(ReadConcern.LINEARIZABLE);
                  break;
              default:
                  break;
              }
          }
          // 读取的优先级策略
          if (conf.has(PROP_READPREFERENCE)) {
              switch (conf.get(PROP_READPREFERENCE)) {
              case "primary":
                  builder.readPreference(ReadPreference.primary());
                  break;
              case "primaryPreferred":
                  builder.readPreference(ReadPreference.primaryPreferred());
                  break;
              case "secondary":
                  builder.readPreference(ReadPreference.secondary());
                  break;
              case "secondaryPreferred":
                  builder.readPreference(ReadPreference.secondaryPreferred());
                  break;
              case "nearest":
                  builder.readPreference(ReadPreference.nearest());
                  break;
              default:
                  break;
              }
          }
          // 完工,再见...
          MongoClientOptions options = builder.build();
          logger.info(options); // 打印现有的参数信息，便于调优
          return options;
      }