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

¿Puedes especificar una clave para $addToSet en Mongo?

Puedes calificar tu update con un objeto de consulta que impide la actualización si el name ya está presente en profile_set . En el caparazón:

db.coll.update(
    {_id: id, 'profile_set.name': {$ne: 'nick'}}, 
    {$push: {profile_set: {'name': 'nick', 'options': 2}}})

Entonces esto solo realizará el $push para un documento con un _id coincidente y donde no hay un profile_set elemento donde name es 'nick' .