如何獲取 MongoDB 中某個列的最大值?


要獲取 MongoDB 中某個列的最大值,可以使用 sort() 和 limit(1)。語法如下 -

db.yourCollectionName.find().sort({"yourFieldName":-1}).limit(1);

為了理解上述語法,讓我們建立一個帶文件的集合。建立帶有文件的集合的查詢如下 -

> db.gettingHighestValueDemo.insertOne({"Value":1029});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900b885705caea966c5574")
}
> db.gettingHighestValueDemo.insertOne({"Value":3029});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900b8d5705caea966c5575")
}
> db.gettingHighestValueDemo.insertOne({"Value":1092});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900b925705caea966c5576")
}
> db.gettingHighestValueDemo.insertOne({"Value":18484});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900b955705caea966c5577")
}
> db.gettingHighestValueDemo.insertOne({"Value":37474});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900b9c5705caea966c5578")
}
> db.gettingHighestValueDemo.insertOne({"Value":88474});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900ba75705caea966c5579")
}
> db.gettingHighestValueDemo.insertOne({"Value":1938474});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c900bab5705caea966c557a")
}

使用 find() 方法顯示集合中的所有文件。查詢如下

> db.gettingHighestValueDemo.find().pretty();

以下為輸出 -

{ "_id" : ObjectId("5c900b885705caea966c5574"), "Value" : 1029 }
{ "_id" : ObjectId("5c900b8d5705caea966c5575"), "Value" : 3029 }
{ "_id" : ObjectId("5c900b925705caea966c5576"), "Value" : 1092 }
{ "_id" : ObjectId("5c900b955705caea966c5577"), "Value" : 18484 }
{ "_id" : ObjectId("5c900b9c5705caea966c5578"), "Value" : 37474 }
{ "_id" : ObjectId("5c900ba75705caea966c5579"), "Value" : 88474 }
{ "_id" : ObjectId("5c900bab5705caea966c557a"), "Value" : 1938474 }

以下是獲取 MongoDB 中某個列最大值的查詢 -

> db.gettingHighestValueDemo.find().sort({"Value":-1}).limit(1);

以下是顯示最大值的輸出 -

{ "_id" : ObjectId("5c900bab5705caea966c557a"), "Value" : 1938474 }

更新於: 2019 年 7 月 30 日

895 個瀏覽量

開啟您的 職業生涯

完成課程認證

立即開始
廣告
© . All rights reserved.