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

จะรับดัชนีขององค์ประกอบอาร์เรย์ในเวอร์ชันเก่าบน MongoDB ได้อย่างไร


ในการรับดัชนีขององค์ประกอบอาร์เรย์ ให้ใช้ $indexOfArray ให้เราสร้างคอลเลกชันที่มีเอกสาร -

<ก่อนหน้า>> db.demo65.insertOne({"ListOfValues":[10,20,30]});{ "acknowledged" :true, "insertedId" :ObjectId("5e28990ecfb11e5c34d89938")}> db.demo65.insertOne( {"ListOfValues":[50,60,70,100]});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e28991ecfb11e5c34d89939")}> db.demo65.insertOne ({"ListOfValues":[30,40, 89,91,98]});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e28992bcfb11e5c34d8993a")}

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

> db.demo65.find();

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

{ "_id" :ObjectId("5e28990ecfb11e5c34d89938"), "ListOfValues" :[ 10, 20, 30 ] }{ "_id" :ObjectId("5e28991ecfb11e5c34d89939"), "ListOfValues, 60, 70" :[ 50 100 ] }{ "_id" :ObjectId("5e28992bcfb11e5c34d8993a"), "ListOfValues" :[ 30, 40, 89, 91, 98 ] }

นี่คือแบบสอบถามเพื่อรับดัชนีขององค์ประกอบอาร์เรย์ในเวอร์ชันเก่าบน MongoDB -

> db.demo65.aggregate(... [... {... $project:... {... IndexOfAnArrayElement:{ $indexOfArray:[ "$ListOfValues", 30] },... }... }... ]... );

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

{ "_id" :ObjectId("5e28990ecfb11e5c34d89938"), "IndexOfAnArrayElement" :2 }{ "_id" :ObjectId("5e28991ecfb11e5c34d89939"), "IndexOfAnArrayElement"}{5e28991ecfb11e5c34d89939"), "IndexOfAnArrayElement"}{5e28991ecfb11e5c34d89939"), "IndexOfAnArrayElement"} ), "IndexOfAnArrayElement" :0 }