Isso também acontece se você estiver tentando atualizar um subdocumento de um não-objeto.
> db.test.insert({_id: 10240292, object: 'some string'})
> db.test.update({_id: 10240292}, {$set: {'object.subkey': 'some string'}})
LEFT_SUBFIELD only supports Object: object not: 2
Talvez não seja o seu caso, mas pode ajudar alguém que pesquise no google por esse erro.