在 MongoDB 中對陣列進行排序的最簡單方法


在 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") ] }

更新於: 30-Mar-2020

561 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.