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 }