in flink-connector-mongodb/src/main/java/org/apache/flink/connector/mongodb/table/MongoKeyExtractor.java [73:86]
public BsonValue apply(RowData rowData) {
Object rowKeyValue = primaryKeyGetter.getFieldOrNull(rowData);
checkNotNull(rowKeyValue, "Primary key value is null of RowData: " + rowData);
BsonValue keyValue = primaryKeyConverter.apply(rowKeyValue);
if (!isCompoundPrimaryKey(primaryKeyIndexes) && keyValue.isString()) {
String keyString = keyValue.asString().getValue();
// Try to restore MongoDB's ObjectId from string.
if (ObjectId.isValid(keyString)) {
keyValue = new BsonObjectId(new ObjectId(keyString));
}
}
return keyValue;
}