MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como pesquisar um registro e excluí-lo


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.