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

หลีกเลี่ยงปัญหาประสิทธิภาพการทำงานของ MongoDB ขณะใช้ regex


เพื่อหลีกเลี่ยงปัญหาด้านประสิทธิภาพใน MongoDB ให้ใช้แนวคิดของดัชนี ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo531.createIndex({"CountryName":"text","Name":"text"});{ "createdCollectionAutomatically" :true, "numIndexesBefore" :1, "numIndexesAfter" :2, "ตกลง " :1}> db.demo531.insertOne({CountryName:"US","Name":"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5e8b2b60ef4dcbee04fbbbf2")}> db.demo531 .insertOne({CountryName:"UK","Name":"David"});{ "acknowledged" :true, "insertedId" :ObjectId("5e8b2b6cef4dcbee04fbbbf3")}> db.demo531.insertOne({CountryName:"AUS ","Name":"chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5e8b2b74ef4dcbee04fbbbf4")}> db.demo531.insertOne({CountryName:"US","Name":"CHRIS "});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e8b2badef4dcbee04fbbbf5")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo531.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5e8b2b60ef4dcbee04fbbbf2"), "CountryName" :"US", "Name" :"Chris" }{ "_id" :ObjectId("5e8b2b6cef4dcbee04fbbbf3"), "UK"Name":, "Name" :"David" }{ "_id" :ObjectId("5e8b2b74ef4dcbee04fbbbf4"), "CountryName" :"AUS", "Name" :"chris" }{ "_id" :ObjectId("5e8b2badef4dcbee")04 "fbbbf5" CountryName" :"US", "Name" :"CHRIS" }

ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ regex -

> db.demo531.find({CountryName:"US", "Name":{ "$regex":"chris", "$options":"i" }}).limit(4); 

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5e8b2b60ef4dcbee04fbbbf2"), "CountryName" :"US", "Name" :"Chris" }{ "_id" :ObjectId("5e8b2badef4dcbee04fbbbf5"), "CountryName" :"US" , "ชื่อ" :"คริส" }