เพื่อปรับปรุงเวลาดำเนินการของแบบสอบถาม ให้ใช้ดัชนีร่วมกับ unique:true ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo193.createIndex({"LastName":1},{unique:true});
{
"createdCollectionAutomatically" : true,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Doe"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3ade1803d395bdc21346d1")
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Smith"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3ade1f03d395bdc21346d2")
}
> db.demo193.insertOne({"FirstName":"David","LastName":"Miller"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3ade2803d395bdc21346d3")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo193.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e3ade1803d395bdc21346d1"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5e3ade2803d395bdc21346d3"), "FirstName" : "David", "LastName" : "Miller" } ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาค่าที่มีเวลาดำเนินการเร็วขึ้น -
> db.demo193.find({"LastName":"Smith"}); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }