Você precisa usar a 'notação de ponto' do MongoDB para o elemento incorporado, o que significa que a "chave" deve ser um tipo de notação de string. Aplique também
$exists
para corresponder onde a chave no has está presente e o .unset()
método do mongoid:User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
'ttokens.919839398393'
)
Este é efetivamente o
$unset
operador do MongoDB, que remove "chaves" do documento pelo caminho especificado. No documento de amostra, isso corresponderia e removeria a primeira chave, deixando apenas a outra.