2013-10-31 137 views
1

假設我已經有一些數據在數據庫:MongoDB的:如何在不重複插入文檔

{ 
    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在插入新數據時忽略重複值(使用指定鍵)?

+0

如果它是好的覆蓋(但不增加新的記錄)'save'作品。你不想覆蓋嗎? –

+0

@PaulDraper:覆蓋正常 – hh54188

+0

如果您提供預期的最終收集結果,這將會有所幫助。 – WiredPrairie

回答

1

爲此,您必須在id上創建唯一索引。你一定要試試這樣:

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

除了把這個作爲唯一指標,因爲它是先前所建議的,你可以使用不同的密鑰插入。您可以使用唯一的主鍵_id插入它們(如果需要,您可以使用自己的唯一_id字段)

相關問題