public static IStorageBuilder UseMongoDB(this IStorageBuilder builder, Action <MongoOptions> configuration, bool useNativeTransactions = false)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            builder.UseMongoDB(useNativeTransactions);

            builder.Services.Configure(configuration);

            return(builder);
        }
        public static IStorageBuilder UseMongoDB(this IStorageBuilder builder, string database, bool useNativeTransactions = false)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (database == null)
            {
                throw new ArgumentNullException(nameof(database));
            }

            builder.UseMongoDB(useNativeTransactions);

            builder.Services.Configure <MongoOptions>(options =>
            {
                options.Database = database;
            });

            return(builder);
        }