MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Você pode especificar uma chave para $ addToSet no Mongo?


Você pode qualificar sua update com um objeto de consulta que impede a atualização se o name já está presente em profile_set . Na casca:
db.coll.update(
    {_id: id, 'profile_set.name': {$ne: 'nick'}}, 
    {$push: {profile_set: {'name': 'nick', 'options': 2}}})

Portanto, isso só executará o $push para um documento com um _id correspondente e onde não há um profile_set elemento onde name é 'nick' .