สร้างดัชนี Unique แบบ Compound
ใช้ ensureIndex() พร้อม unique: true บนฟิลด์ FirstName และ Subject ร่วมกัน:
> db.demo272.ensureIndex({"FirstName":1,"Subject":1},{unique:true});
{ "createdCollectionAutomatically": true, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }
ทดสอบการแทรกข้อมูล
> db.demo272.insertOne({"FirstName":"Chris","Subject":"MySQL"});
{ "acknowledged": true, "insertedId": ObjectId("5e48232a1627c0c63e7dbabf") }
> db.demo272.insertOne({"FirstName":"Chris","Subject":"MongoDB"});
{ "acknowledged": true, "insertedId": ObjectId("5e48232f1627c0c63e7dbac0") }
> db.demo272.insertOne({"FirstName":"David","Subject":"MySQL"});
{ "acknowledged": true, "insertedId": ObjectId("5e48233a1627c0c63e7dbac1") }
> db.demo272.insertOne({"FirstName":"Chris","Subject":"MySQL"});
2020-02-15T22:28:55.137+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.demo272 index: FirstName_1_Subject_1 dup key: { : "Chris", : "MySQL" }
แสดงข้อมูลที่บันทึกสำเร็จ
> db.demo272.find();
{ "_id": ObjectId("5e48232a1627c0c63e7dbabf"), "FirstName": "Chris", "Subject": "MySQL" }
{ "_id": ObjectId("5e48232f1627c0c63e7dbac0"), "FirstName": "Chris", "Subject": "MongoDB" }
{ "_id": ObjectId("5e48233a1627c0c63e7dbac1"), "FirstName": "David", "Subject": "MySQL" }