J'ai un document :
{ 'profile_set' :
[
{ 'name' : 'nick', 'options' : 0 },
{ 'name' : 'joe', 'options' : 2 },
{ 'name' : 'burt', 'options' : 1 }
]
}
et souhaite ajouter un nouveau document à la base de données profile_set
si le nom n'existe pas déjà (quelle que soit l'option).
Ainsi, dans cet exemple, si j'essayais d'ajouter :
{'name' : 'matt', 'options' : 0}
il devrait l'ajouter, mais l'ajout de
{'name' : 'nick', 'options' : 2}
ne doit rien faire parce qu'il existe déjà un document portant le nom nick
même si le option
est différent.
Mongo semble faire une correspondance avec l'ensemble de l'élément et je finis par vérifier si c'est la même chose et je me retrouve avec
profile_set containing [{'name' : 'nick', 'options' : 0}, {'name' : 'nick', 'options' : 2}]
Existe-t-il un moyen de le faire avec $addToSet
ou dois-je appuyer sur une autre commande ?