in flink-cdc-connect/flink-cdc-source-connectors/flink-connector-mongodb-cdc/src/main/java/org/apache/flink/cdc/connectors/mongodb/source/utils/BsonUtils.java [280:329]
public static int typeOrder(BsonValue bsonValue) {
// Missing Key field
if (bsonValue == null) {
return 3;
}
switch (bsonValue.getBsonType()) {
// MinKey < Undefined == [] < Null, Missing Key
case MIN_KEY:
return 1;
case UNDEFINED:
return 2;
case NULL:
return 3;
case INT32:
case INT64:
case DOUBLE:
case DECIMAL128:
return 4;
case STRING:
case SYMBOL:
return 5;
case DOCUMENT:
case DB_POINTER:
return 6;
case ARRAY:
return 7;
case BINARY:
return 8;
case OBJECT_ID:
return 9;
case BOOLEAN:
return 10;
case DATE_TIME:
return 11;
case TIMESTAMP:
return 12;
case REGULAR_EXPRESSION:
return 13;
case JAVASCRIPT:
return 14;
case JAVASCRIPT_WITH_SCOPE:
return 15;
case MAX_KEY:
return 99;
default:
throw new IllegalArgumentException(
"Unknown bson type : " + bsonValue.getBsonType());
}
}