in flink-connector-mongodb/src/main/java/org/apache/flink/connector/mongodb/common/utils/MongoUtils.java [83:99]
public static BsonDocument splitVector(
MongoClient mongoClient,
MongoNamespace namespace,
BsonDocument keyPattern,
int maxChunkSizeMB,
@Nullable BsonDocument min,
@Nullable BsonDocument max) {
BsonDocument splitVectorCommand =
new BsonDocument(SPLIT_VECTOR_COMMAND, new BsonString(namespace.getFullName()))
.append(KEY_PATTERN_OPTION, keyPattern)
.append(MAX_CHUNK_SIZE_OPTION, new BsonInt32(maxChunkSizeMB));
Optional.ofNullable(min).ifPresent(v -> splitVectorCommand.append(MIN_FIELD, v));
Optional.ofNullable(max).ifPresent(v -> splitVectorCommand.append(MAX_FIELD, v));
return mongoClient
.getDatabase(namespace.getDatabaseName())
.runCommand(splitVectorCommand, BsonDocument.class);
}