Vous devez utiliser la "notation par points" de MongoDB pour l'élément intégré, ce qui signifie que la "clé" doit être une notation de type chaîne. Appliquez également $exists
pour faire correspondre où la clé dans le has est présente et le .unset()
méthode de mongoid :
User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
'ttokens.919839398393'
)
C'est effectivement le $unset
opérateur de MongoDB, qui supprime les "clés" du document par le chemin spécifié.
À partir de l'exemple de document, cela correspondrait et supprimerait la première clé, ne laissant que l'autre.