@@ -21,6 +21,8 @@ var EventEmitter = require('events').EventEmitter
21
21
, Collection = require ( './collection' )
22
22
, crypto = require ( 'crypto' ) ;
23
23
24
+ var INVALID_PARTIAL_INDEX_EXPRESSION_CODE = 67 ;
25
+
24
26
var debugFields = [ 'authSource' , 'w' , 'wtimeout' , 'j' , 'native_parser' , 'forceServerObjectId'
25
27
, 'serializeFunctions' , 'raw' , 'promoteLongs' , 'bufferMaxEntries' , 'numberOfRetries' , 'retryMiliSeconds'
26
28
, 'readPreference' , 'pkFactory' ] ;
@@ -994,6 +996,9 @@ var createIndex = function(self, name, fieldOrSpec, options, callback) {
994
996
// Attempt to run using createIndexes command
995
997
createIndexUsingCreateIndexes ( self , name , fieldOrSpec , options , function ( err , result ) {
996
998
if ( err == null ) return handleCallback ( callback , err , result ) ;
999
+ if ( err . code === INVALID_PARTIAL_INDEX_EXPRESSION_CODE ) {
1000
+ return handleCallback ( callback , err , result ) ;
1001
+ }
997
1002
// Create command
998
1003
var doc = createCreateIndexCommand ( self , name , fieldOrSpec , options ) ;
999
1004
// Set no key checking
0 commit comments