MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come cercare un record e quindi eliminarlo

È necessario utilizzare la "notazione punto" MongoDB per l'elemento incorporato, il che significa che la "chiave" deve essere un tipo di notazione stringa. Applica anche $exists per abbinare dove è presente la chiave in has e .unset() metodo da mongoide:

User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
  'ttokens.919839398393'
)

Questo è effettivamente il $unset operatore di MongoDB, che rimuove le "chiavi" dal documento in base al percorso specificato.

Dal documento di esempio questo corrisponderebbe e rimuoverebbe la prima chiave, lasciando solo l'altra.