how to define a compound and hashed mongodb index?

mongodb, mongodb-indexes

Solution

According to the hashed index documentaion You can't!

MongoDB supports hashed indexes of any single field. The hashing function collapses sub-documents and computes the hash for the entire value, but does not support multi-key (i.e. arrays) indexes.

You may not create compound indexes that have hashed index fields

PS: The above is valid for versions 2.4 and 2.6 (which is the latest at the moment)

PS2: According to @naman's answer it is now possible in version 4.4

Problem

I know that a compound index is defined like this: ``` db.products.ensureIndex( { "item": 1, "stock": 1 } ) ``` and a hashed a simple index like this: ``` db.active.ensureIndex( { item: "hashed" } ) ``` question is how to achieve both?

Original source