Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ตั้งค่า Unique Index ใน MongoDB

เพื่อตั้งค่า Unique Index ใน MongoDB ให้ใช้ตัวเลือก unique:true ในเมธอด ensureIndex() (หรือ createIndex() ในรุ่นใหม่)

สร้างดัชนี Unique บนฟิลด์ Name แล้วเพิ่มเอกสาร:

> db.demo257.ensureIndex({Name:1},{unique:true}); 
{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } 
> db.demo257.insertOne({Name:"Chris"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e47a5e51627c0c63e7dba91") } 
> db.demo257.insertOne({Name:"Bob"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e47a5e81627c0c63e7dba92") } 
> db.demo257.insertOne({Name:"Chris"}); 
2020-02-15T13:33:54.064+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.demo257 index: Name_1 dup key: { : "Chris" } : WriteError({ "index" : 0, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: test.demo257 index: Name_1 dup key: { : \"Chris\" }", "op" : { "_id" : ObjectId("5e47a5ea1627c0c63e7dba93"), "Name" : "Chris" } })

แสดงเอกสารทั้งหมด (เอกสาร Chris ที่ 3 ไม่ได้เพิ่มเพราะ Duplicate Key Error):

> db.demo257.find();

ผลลัพธ์ - มีเพียง Chris และ Bob เท่านั้น: