Class MongoUtils


  • public class MongoUtils
    extends Object
    Utilities of MongoDB operations.
    • Field Detail

      • COMMAND_SUCCEED_FLAG

        public static final org.bson.BsonDouble COMMAND_SUCCEED_FLAG
      • ILLEGAL_OPERATION_ERROR

        public static final int ILLEGAL_OPERATION_ERROR
        See Also:
        Constant Field Values
      • INVALIDATED_RESUME_TOKEN_ERROR

        public static final int INVALIDATED_RESUME_TOKEN_ERROR
        See Also:
        Constant Field Values
      • CHANGE_STREAM_FATAL_ERROR

        public static final int CHANGE_STREAM_FATAL_ERROR
        See Also:
        Constant Field Values
      • CHANGE_STREAM_HISTORY_LOST

        public static final int CHANGE_STREAM_HISTORY_LOST
        See Also:
        Constant Field Values
    • Method Detail

      • parseTableId

        public static io.debezium.relational.TableId parseTableId​(String str)
        MongoDB allows dots to be presented in collection names, but not in database names (see docs for more details).
        So, for a canonical TableId with multiple dots in it (like foo.bar.baz, it is guaranteed that the first part (foo) is the database name and the latter part ( bar.baz) is the table name.
      • parseTableId

        public static io.debezium.relational.TableId parseTableId​(String str,
                                                                  boolean useCatalogBeforeSchema)
      • getChangeStreamIterable

        public static com.mongodb.client.ChangeStreamIterable<org.bson.Document> getChangeStreamIterable​(com.mongodb.client.MongoClient mongoClient,
                                                                                                         ChangeStreamDescriptor descriptor,
                                                                                                         int batchSize,
                                                                                                         boolean updateLookup,
                                                                                                         boolean fullDocPrePostImage)
      • getChangeStreamIterable

        public static com.mongodb.client.ChangeStreamIterable<org.bson.Document> getChangeStreamIterable​(com.mongodb.client.MongoClient mongoClient,
                                                                                                         @Nullable
                                                                                                         String database,
                                                                                                         @Nullable
                                                                                                         String collection,
                                                                                                         @Nullable
                                                                                                         Pattern databaseRegex,
                                                                                                         @Nullable
                                                                                                         Pattern namespaceRegex,
                                                                                                         int batchSize,
                                                                                                         boolean updateLookup,
                                                                                                         boolean fullDocPrePostImage)
      • getLatestResumeToken

        @Nullable
        public static org.bson.BsonDocument getLatestResumeToken​(com.mongodb.client.MongoClient mongoClient,
                                                                 ChangeStreamDescriptor descriptor)
      • isCommandSucceed

        public static boolean isCommandSucceed​(org.bson.BsonDocument commandResult)
      • commandErrorMessage

        public static String commandErrorMessage​(org.bson.BsonDocument commandResult)
      • collStats

        public static org.bson.BsonDocument collStats​(com.mongodb.client.MongoClient mongoClient,
                                                      io.debezium.relational.TableId collectionId)
      • splitVector

        public static org.bson.BsonDocument splitVector​(com.mongodb.client.MongoClient mongoClient,
                                                        io.debezium.relational.TableId collectionId,
                                                        org.bson.BsonDocument keyPattern,
                                                        int maxChunkSizeMB)
      • splitVector

        public static org.bson.BsonDocument splitVector​(com.mongodb.client.MongoClient mongoClient,
                                                        io.debezium.relational.TableId collectionId,
                                                        org.bson.BsonDocument keyPattern,
                                                        int maxChunkSizeMB,
                                                        @Nullable
                                                        org.bson.BsonDocument min,
                                                        @Nullable
                                                        org.bson.BsonDocument max)
      • getCurrentClusterTime

        public static org.bson.BsonTimestamp getCurrentClusterTime​(com.mongodb.client.MongoClient mongoClient)
      • isMaster

        public static org.bson.BsonDocument isMaster​(com.mongodb.client.MongoClient mongoClient)
      • readChunks

        public static List<org.bson.BsonDocument> readChunks​(com.mongodb.client.MongoClient mongoClient,
                                                             org.bson.BsonDocument collectionMetadata)
      • readCollectionMetadata

        @Nullable
        public static org.bson.BsonDocument readCollectionMetadata​(com.mongodb.client.MongoClient mongoClient,
                                                                   io.debezium.relational.TableId collectionId)
      • collectionFor

        public static <T> com.mongodb.client.MongoCollection<T> collectionFor​(com.mongodb.client.MongoClient mongoClient,
                                                                              io.debezium.relational.TableId collectionId,
                                                                              Class<T> documentClass)
      • clientFor

        public static com.mongodb.client.MongoClient clientFor​(MongoDBSourceConfig sourceConfig)
      • checkIfChangeStreamCursorExpires

        public static boolean checkIfChangeStreamCursorExpires​(com.mongodb.MongoCommandException e)
      • checkIfResumeTokenExpires

        public static boolean checkIfResumeTokenExpires​(com.mongodb.MongoCommandException e)