diff --git a/modules/plugin/mongodb/src/main/java/org/geotools/data/mongodb/MongoDataStore.java b/modules/plugin/mongodb/src/main/java/org/geotools/data/mongodb/MongoDataStore.java
index 5c710b4233..299194e5c5 100644
--- a/modules/plugin/mongodb/src/main/java/org/geotools/data/mongodb/MongoDataStore.java
+++ b/modules/plugin/mongodb/src/main/java/org/geotools/data/mongodb/MongoDataStore.java
@@ -185,9 +185,10 @@ public class MongoDataStore extends ContentDataStore {
         if (dataStoreURI == null) {
             throw new IllegalArgumentException("dataStoreURI may not be null");
         }
-        if (!dataStoreURI.startsWith("mongodb://")) {
+        if (!dataStoreURI.startsWith("mongodb://") 
+             && !dataStoreURI.startsWith("mongodb+srv://")) {
             throw new IllegalArgumentException(
-                    "incorrect scheme for URI, expected to begin with \"mongodb://\", found URI of \""
+                    "incorrect scheme for URI, expected to begin with \"mongodb://\" or \"mongodb+srv://\", found URI of \""
                             + dataStoreURI
                             + "\"");
         }
@@ -223,7 +224,8 @@ public class MongoDataStore extends ContentDataStore {
                                 + "\"",
                         e);
             }
-        } else if (schemaStoreURI.startsWith("mongodb:")) {
+        } else if (schemaStoreURI.startsWith("mongodb:")
+                || schemaStoreURI.startsWith("mongodb+srv:")) {
             try {
                 return new MongoSchemaDBStore(schemaStoreURI);
             } catch (IOException e) {
