@@ -1235,7 +1235,7 @@ class DatabaseController {
1235
1235
keys,
1236
1236
readPreference,
1237
1237
hint,
1238
- caseInsensitive,
1238
+ caseInsensitive : this . options . enableCollationCaseComparison ? false : caseInsensitive ,
1239
1239
explain,
1240
1240
} ;
1241
1241
Object . keys ( sort ) . forEach ( fieldName => {
@@ -1739,25 +1739,27 @@ class DatabaseController {
1739
1739
throw error ;
1740
1740
} ) ;
1741
1741
1742
- await this . adapter
1743
- . ensureIndex ( '_User' , requiredUserFields , [ 'username' ] , 'case_insensitive_username' , true )
1744
- . catch ( error => {
1745
- logger . warn ( 'Unable to create case insensitive username index: ' , error ) ;
1746
- throw error ;
1747
- } ) ;
1742
+ if ( ! this . options . enableCollationCaseComparison ) {
1743
+ await this . adapter
1744
+ . ensureIndex ( '_User' , requiredUserFields , [ 'username' ] , 'case_insensitive_username' , true )
1745
+ . catch ( error => {
1746
+ logger . warn ( 'Unable to create case insensitive username index: ' , error ) ;
1747
+ throw error ;
1748
+ } ) ;
1749
+
1750
+ await this . adapter
1751
+ . ensureIndex ( '_User' , requiredUserFields , [ 'email' ] , 'case_insensitive_email' , true )
1752
+ . catch ( error => {
1753
+ logger . warn ( 'Unable to create case insensitive email index: ' , error ) ;
1754
+ throw error ;
1755
+ } ) ;
1756
+ }
1748
1757
1749
1758
await this . adapter . ensureUniqueness ( '_User' , requiredUserFields , [ 'email' ] ) . catch ( error => {
1750
1759
logger . warn ( 'Unable to ensure uniqueness for user email addresses: ' , error ) ;
1751
1760
throw error ;
1752
1761
} ) ;
1753
1762
1754
- await this . adapter
1755
- . ensureIndex ( '_User' , requiredUserFields , [ 'email' ] , 'case_insensitive_email' , true )
1756
- . catch ( error => {
1757
- logger . warn ( 'Unable to create case insensitive email index: ' , error ) ;
1758
- throw error ;
1759
- } ) ;
1760
-
1761
1763
await this . adapter . ensureUniqueness ( '_Role' , requiredRoleFields , [ 'name' ] ) . catch ( error => {
1762
1764
logger . warn ( 'Unable to ensure uniqueness for role name: ' , error ) ;
1763
1765
throw error ;
0 commit comments