MongoDB,如何添加一个名为" id"的唯一索引;

时间:2016-06-09 07:42:56

标签: mongodb indexing unique

我试图添加名为" id"的索引。在我的收藏中,但它返回:

  

E11000重复键错误索引:collec.items。$ id_1 dup key:{:-27   }

是否在_idid之间发生冲突之前? 我确实需要id字段是唯一的,以避免重复。

2 个答案:

答案 0 :(得分:1)

  

是否在_id和id之间发生冲突?

不,这不是冲突。您正在为当前包含重复值的字段添加唯一索引(其中一个重复项为-27),因此MongoDB抱怨:

  

E11000重复键错误索引:collec.items。$ id_1 dup key:{: -27   }

首先删除重复的值,然后尝试添加索引。

答案 1 :(得分:0)

您是否尝试使用id更新现有的_id?然后mongo不允许这样做。 而是创建一个文档。 id是mongo文档的唯一标识符。

根据需要使用唯一>use db.docname.insert( { id:12345, name:"name" }) WriteResult({ "nInserted" : 1 }) >db.idreplace.find().pretty() { "_id" : ObjectId("57592f1f2aa2b6057f3286ce"), "id" : 12345, "name" : "name" } 创建文档,

self.Last_Location = last locaiton of car (P1)
self.Current_Location = current location of car (P2)

OR

将id添加到现有文档中: Add new field to a collection in MongoDB