diff --git a/driver-core/src/main/com/mongodb/operation/IndexHelper.java b/driver-core/src/main/com/mongodb/operation/IndexHelper.java index 6d1f726..abf342e 100644 --- a/driver-core/src/main/com/mongodb/operation/IndexHelper.java +++ b/driver-core/src/main/com/mongodb/operation/IndexHelper.java @@ -17,7 +17,7 @@ package com.mongodb.operation; import org.bson.BsonDocument; -import org.bson.BsonInt32; +import org.bson.BsonNumber; import org.bson.BsonString; import org.bson.BsonValue; @@ -35,9 +35,11 @@ final class IndexHelper { indexName.append('_'); } indexName.append(keyNames).append('_'); + BsonValue ascOrDescValue = index.get(keyNames); - if (ascOrDescValue instanceof BsonInt32) { - indexName.append(((BsonInt32) ascOrDescValue).getValue()); + + if (ascOrDescValue instanceof BsonNumber) { + indexName.append(((BsonNumber) ascOrDescValue).intValue()); } else if (ascOrDescValue instanceof BsonString) { indexName.append(((BsonString) ascOrDescValue).getValue().replace(' ', '_')); }