It was possible in 2.4 to query a sharded collection by hashedkey with hashed borders like this:
db.collection.find(
{ "_id" :
}).hint(
{ "_id" : "hashed"})
The range values are chunk borders.
This query returns all documents from this chunk only asking one shard.
Moving to MongoDB 2.6 this stopped working.
An explain returns BtreeCursor but scannedObjects is indication a whole table scan on all shards.
Additionally it shows wrong indexBounds:
"_id" : [
[
,
{ "$maxElement" : 1 } ]
]
The same problem arises in mongoDB's own hadoop connector when using hashed sharded collections. (https://github.com/mongodb/mongo-hadoop)