Mongo推送请求是否有可能避免重复?

时间:2012-01-29 21:05:29

标签: mongodb

我有兴趣在单个mongo文档中存储个人的多个电子邮件地址,例如:

{
 first_name: "Johnny"
 last_name: "Tester"
 emails: ["johnnytester@gmail.com", "johnnytester@fb.com"]
}

当我尝试将值推送到电子邮件数组时,我是否可以确保它已经存在?如果确实存在,我希望它被添加,但如果它不存在,我不希望它被添加。我试图避免进行两次查询(读取然后写入),这也会使线程环境不安全。谢谢!

1 个答案:

答案 0 :(得分:2)

我已经使用$ addToSet找到了答案,可在此处找到:http://www.mongodb.org/display/DOCS/Updating#Updating-%24addToSetand%24each