MongoDB聚合查询进行排序

要进行排序,请使用$match和aggregate。让我们创建一个包含文档的集合-

> db.demo67.insertOne({"StudentAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e289edf602d9a2ff1828ed8")
}
> db.demo67.insertOne({"StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e289ee1602d9a2ff1828ed9")
}
> db.demo67.insertOne({"StudentAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e289ee3602d9a2ff1828eda")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo67.find();

这将产生以下输出-

{ "_id" : ObjectId("5e289edf602d9a2ff1828ed8"), "StudentAge" : 23 }
{ "_id" : ObjectId("5e289ee1602d9a2ff1828ed9"), "StudentAge" : 21 }
{ "_id" : ObjectId("5e289ee3602d9a2ff1828eda"), "StudentAge" : 24 }

以下是在MongoDB中使用聚合排序的查询-

> db.demo67.aggregate([
... {$match: {"StudentAge": {$gt: 20} }}
... ,{$sort: {"StudentAge": -1} }
... ]);

这将产生以下输出-

{ "_id" : ObjectId("5e289ee3602d9a2ff1828eda"), "StudentAge" : 24 }
{ "_id" : ObjectId("5e289edf602d9a2ff1828ed8"), "StudentAge" : 23 }
{ "_id" : ObjectId("5e289ee1602d9a2ff1828ed9"), "StudentAge" : 21 }