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

จะบังคับให้ MongoDB ใช้ BasicCursor แทนดัชนีได้อย่างไร


เพื่อหลีกเลี่ยงการใช้ดัชนี ใช้คำใบ้ () ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo31.createIndex({"StudentFirstName":1});{ "createdCollectionAutomatically" :true, "numIndexesBefore" :1, "numIndexesAfter" :2, "ok" :1}> db.demo31.insertOne ({"StudentFirstName":"John"});{ "acknowledged" :true, "insertedId" :ObjectId("5e174f8fcfb11e5c34d898c1")}> db.demo31.insertOne({"StudentFirstName":"Jace"});{ " รับทราบแล้ว" :จริง "insertedId" :ObjectId("5e174f97cfb11e5c34d898c2")}> db.demo31.insertOne({"StudentFirstName":"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId9("5e174ed8d8d95 )}> db.demo31.insertOne({"StudentFirstName":"James"});{ "acknowledged" :true, "insertedId" :ObjectId("5e174fa0cfb11e5c34d898c4")}

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

> db.demo31.find();

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

{ "_id" :ObjectId("5e174f8fcfb11e5c34d898c1"), "StudentFirstName" :"John" }{ "_id" :ObjectId("5e174f97cfb11e5c34d898c2"), "StudentFirstName" :"Jace" วัตถุ "5e174f9ccfb11e5c34d898c3"), "StudentFirstName" :"Chris" }{ "_id" :ObjectId("5e174fa0cfb11e5c34d898c4"), "StudentFirstName" :"James" }

ต่อไปนี้เป็นแบบสอบถามเพื่อบังคับให้ MongoDB ใช้ BasicCursor แทนดัชนี -

> db.demo31.find({"StudentFirstName":{$regex:'^Ja'}}).hint({ $natural:1});

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

{ "_id" :ObjectId("5e174f97cfb11e5c34d898c2"), "StudentFirstName" :"Jace" }{ "_id" :ObjectId("5e174fa0cfb11e5c34d898c4"), "StudentFirstName" } :"James