MongoDB может использовать только один индекс за один запрос, поэтому ваше предложение создать два индекса не будет работать.Вместо этого я бы создал составной индекс:
> db.foo.ensureIndex({"tag_cloud.value": 1, "tag_cloud.count": -1})
Этот индекс можно использовать как для фильтрации только по определенному элементу или элементам, которые вы хотите рассмотреть, а затем также возвращать в порядке убывания в порядке убывания:
> db.foo.find({"tag_cloud.value":"games"}).sort({"tag_cloud.count":-1}).explain()
{
"cursor" : "BtreeCursor tag_cloud.value_1_tag_cloud.count_-1",
"isMultiKey" : true,
"n" : NumberLong(2),
"nscannedObjects" : NumberLong(2),
"nscanned" : NumberLong(2),
...