sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo buscar un registro y luego eliminarlo

Debe usar la 'notación de puntos' de MongoDB para el elemento incrustado, lo que significa que la "clave" debe ser un tipo de notación de cadena. También aplique $exists para hacer coincidir dónde está presente la clave en has y el .unset() método de mongoid:

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

Este es efectivamente el $unset operador de MongoDB, que elimina "claves" del documento por la ruta especificada.

Del documento de muestra, esto coincidiría y eliminaría la primera clave, dejando solo la otra.