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

Actualice un solo campo en MongoDB en un solo documento incrustado

Probablemente puedas usar el operador posicional para identificar el elemento de la matriz:

Así que tal vez algo como:

User.collection.update(
    { :_id => user.id, :matches => BSON::ObjectId('4e40238dbc9f6ec5a6000eed') },
    { :$set => { 'alert.matches.$' => matches } }
)

Pero, como señala Sergio, es difícil descifrar la estructura de sus documentos en función de la información limitada de su pregunta.

Parece que llegó más información después de que respondí y parece:

{ :$set => { 'alerts.$.matches' => ... } }

es lo que necesitas Y deberá incluir :matches en la consulta para que $ tiene algo a lo que referirse.