MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment rechercher un enregistrement puis le supprimer

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.