最佳答案
我有一份文件:
{ 'profile_set' :
[
{ 'name' : 'nick', 'options' : 0 },
{ 'name' : 'joe', 'options' : 2 },
{ 'name' : 'burt', 'options' : 1 }
]
}
并且如果名称不存在(不管选项如何) ,则希望向 profile_set
集添加一个新文档。
所以在这个例子中,如果我试图加上:
{'name' : 'matt', 'options' : 0}
它应该添加它,但添加
{'name' : 'nick', 'options' : 2}
应该什么也不做,因为即使 option
不同,名称为 nick
的文档也已经存在。
Mongo 似乎与整个元素相匹配,我最后检查它们是否相同,最后得到
profile_set containing [{'name' : 'nick', 'options' : 0}, {'name' : 'nick', 'options' : 2}]
有没有办法用 $addToSet
做到这一点,还是我必须按下另一个命令?