MongoDB:如何插入文档而不重复

时间:2013-10-31 08:31:51

标签: mongodb insert

假设我在数据库中已有一些数据:

{
   id: 001,
   title: "title_1"
}
{
   id: 002,
   title: "title_2"
}
{
   id: 003,
   title: "title_3"
}

然后我想插入一些新文件:

{
   id: 003    // id repeat
   title: "title_4"
}
{
   id: 004
   title: "title_5"
}

但我不想插入{ id:003 }项,因为数据库中的某些人已经拥有相同的ID。

那么,当我插入新数据时,如何让MongoDB忽略重复值(带有指定键)?

3 个答案:

答案 0 :(得分:2)

为此,您必须在id上创建唯一索引。你必须尝试这样:

 db.collection.ensureIndex( { id: 1 }, { unique: true } )

答案 1 :(得分:0)

我认为您可以使用Unique Index

答案 2 :(得分:0)

除了将此作为前面建议的唯一索引之外,您只需使用不同的键插入它们即可。您可以使用唯一的主键_id插入它们(如果您愿意,可以使用您自己的唯一_id字段http://docs.mongodb.org/manual/core/document/#the-id-field

,而不是您已有的ID键。