วิธีที่ง่ายที่สุดในการจัดเรียงอาร์เรย์ใน MongoDB ให้ใช้ $sort ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo242.insertOne(
...
... {"details2":
... [
... {"ShipingDate":new ISODate("2019-10-11"),"Price":1400},
... {"ShipingDate":new ISODate("2019-10-01"),"Price":1600 }
... ]
... }
...
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4429229af932883c61ea44")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo242.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5e4429229af932883c61ea44"), "details2" : [
{ "ShipingDate" : ISODate("2019-10-11T00:00:00Z"), "Price" : 1400 },
{ "ShipingDate" : ISODate("2019-10-01T00:00:00Z"), "Price" : 1600 }
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อจัดเรียงอาร์เรย์ใน MongoDB -
> db.demo242.aggregate([ {$unwind: "$details2"}, {$sort: {"details2.ShipingDate":1}}, {$group: {_id:"$_id", details2: {$push:"$details2.ShipingDate"}}} ]); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e4429229af932883c61ea44"), "details2" : [ ISODate("2019-10-01T00:00:00Z"), ISODate("2019-10-11T00:00:00Z") ] }