Sie müssen die MongoDB-Punktnotation für das eingebettete Element verwenden, was bedeutet, dass der „Schlüssel“ eine Zeichenkettennotation sein muss. Wenden Sie auch $exists
an
übereinstimmen, wo der Schlüssel in has vorhanden ist und der .unset()
Methode von mongoid:
User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
'ttokens.919839398393'
)
Dies ist praktisch der $unset
Operator von MongoDB, der "Schlüssel" aus dem Dokument durch den angegebenen Pfad entfernt.
Aus dem Beispieldokument würde dies übereinstimmen und den ersten Schlüssel entfernen, wobei nur der andere übrig bleibt.