in flink-connector-mongodb/src/main/java/org/apache/flink/connector/mongodb/common/utils/MongoUtils.java [120:140]
public static List<BsonDocument> readChunks(
MongoClient mongoClient, BsonDocument collectionMetadata) {
MongoCollection<BsonDocument> chunks =
mongoClient
.getDatabase(CONFIG_DATABASE)
.getCollection(CHUNKS_COLLECTION)
.withDocumentClass(BsonDocument.class);
Bson filter =
or(
new BsonDocument(NAMESPACE_FIELD, collectionMetadata.get(ID_FIELD)),
// MongoDB 4.9.0 removed ns field of config.chunks collection, using
// collection's uuid instead.
// See: https://jira.mongodb.org/browse/SERVER-53105
new BsonDocument(UUID_FIELD, collectionMetadata.get(UUID_FIELD)));
return chunks.find(filter)
.projection(include(MIN_FIELD, MAX_FIELD, SHARD_FIELD))
.sort(ascending(MIN_FIELD))
.into(new ArrayList<>());
}