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

MongoDB จัดทำดัชนี Array อย่างไร

การทำงานของ Index บน Array ใน MongoDB

MongoDB จะจัดทำดัชนี (Index) ทุกค่าใน Array เพื่อให้สามารถ Query หา Element เดี่ยวได้

สร้างข้อมูลตัวอย่าง

> db.indexingForArrayElementDemo.insertOne({"StudentFavouriteSubject":["MongoDB","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8acdca6cea1f28b7aa0816") }

สร้าง Index บน Field Array

> db.indexingForArrayElementDemo.ensureIndex({"StudentFavouriteSubject":1});
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

Query หา Element เดี่ยวใน Array

> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject":"MongoDB"}).pretty();
{ "_id" : ObjectId("5c8acdca6cea1f28b7aa0816"), "StudentFavouriteSubject" : [ "MongoDB", "MySQL" ] }
> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject":"MySQL"}).pretty();
{ "_id" : ObjectId("5c8acdca6cea1f28b7aa0816"), "StudentFavouriteSubject" : [ "MongoDB", "MySQL" ] }

ทั้งสอง Query คืนค่า Document เดียวกัน เนื่องจาก MongoDB จัดทำดัชนีทุก Element ใน Array