我有 mongodb 集合,例如:
[{
"name": "a",
"price": 130
},
{
"name": "b",
"price": 90
},
{
"name": "c",
"price": 150
},
{
"name": "e",
"price": 170
},
{
"name": "g",
"price": 135
}]
我需要一個查詢來從這個集合中獲取最多三個“價格”。
uj5u.com熱心網友回復:
db.collection.find().sort({price:-1}).limit(3)
uj5u.com熱心網友回復:
詢問
- 排序和限制為 3 的答案是最簡單的
- 如果許多產品可以具有相同的價格,則可能 3 個最高價格由 3 個以上的產品共享,如果您想要所有這些產品,您也可以使用它,請參見示例,2 個產品共享 135 個價格。
玩蒙哥
aggregate(
[{"$setWindowFields":
{"output": {"rank": {"$denseRank": {}}}, "sortBy": {"price": -1}}},
{"$match": {"$expr": {"$lt": ["$rank", 4]}}}, {"$unset": ["rank"]}])
uj5u.com熱心網友回復:
為此使用.sort()和.limit()
按升序排序,然后使用limit
db.collection.find({}).sort({ price: -1 }).limit(3);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/468804.html
標籤:mongodb
