สำหรับการฉายภาพอาร์เรย์หลายมิติ MongoDB คุณต้องใช้เฟรมเวิร์กรวม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน ที่นี่ เรามีอาร์เรย์หลายมิติสำหรับคะแนนนักเรียน -
> db.multiDimensionalArrayProjection.insertOne( ... { ... "StudentFirstName" : "Chris", ... "StudentMarks" : [ [98, 99],[56,79] ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cc6b75a9cb58ca2b005e66c") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.multiDimensionalArrayProjection.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cc6b75a9cb58ca2b005e66c"), "StudentFirstName" : "Chris", "StudentMarks" : [ [ 98, 99 ], [ 56, 79 ] ] }
ต่อไปนี้เป็นแบบสอบถามสำหรับการฉายภาพอาร์เรย์หลายมิติ MongoDB -
> db.multiDimensionalArrayProjection.aggregate([ ... { $unwind: '$StudentMarks' }, ... { $limit: 1 }, ... { $project: { _id: 0, StudentMarks: 1 } }, ... { $unwind: '$StudentMarks' }, ... { $skip: 1 }, ... { $limit: 1 } ... ]);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "StudentMarks" : 99 }