【MongoDB】文档排序操作

1.只选择两列,并且根据年龄升序:1 

> db.users.find({"Gender":"F"},{"Name":1,"Age":1}).sort({"Age":1})
{ "_id" : ObjectId("666a617da0184f8213fade87"), "Name" : "Test User1", "Age" : 11 }
{ "_id" : ObjectId("666a617da0184f8213fade88"), "Name" : "Test User2", "Age" : 12 }
{ "_id" : ObjectId("666a617da0184f8213fade89"), "Name" : "Test User3", "Age" : 13 }
{ "_id" : ObjectId("666a617da0184f8213fade8a"), "Name" : "Test User4", "Age" : 14 }
{ "_id" : ObjectId("666a617da0184f8213fade8b"), "Name" : "Test User5", "Age" : 15 }
{ "_id" : ObjectId("666a617da0184f8213fade8c"), "Name" : "Test User6", "Age" : 16 }
{ "_id" : ObjectId("666a617da0184f8213fade8d"), "Name" : "Test User7", "Age" : 17 }
{ "_id" : ObjectId("666a617da0184f8213fade8e"), "Name" : "Test User8", "Age" : 18 }
{ "_id" : ObjectId("666a617da0184f8213fade8f"), "Name" : "Test User9", "Age" : 19 }
{ "_id" : ObjectId("666a617da0184f8213fade90"), "Name" : "Test User10", "Age" : 20 }
{ "_id" : ObjectId("666a617da0184f8213fade91"), "Name" : "Test User11", "Age" : 21 }
{ "_id" : ObjectId("666a617da0184f8213fade92"), "Name" : "Test User12", "Age" : 22 }
{ "_id" : ObjectId("666a617da0184f8213fade93"), "Name" : "Test User13", "Age" : 23 }
{ "_id" : ObjectId("666a617da0184f8213fade94"), "Name" : "Test User14", "Age" : 24 }
{ "_id" : ObjectId("666a617da0184f8213fade95"), "Name" : "Test User15", "Age" : 25 }
{ "_id" : ObjectId("666a617da0184f8213fade96"), "Name" : "Test User16", "Age" : 26 }
{ "_id" : ObjectId("666a617da0184f8213fade97"), "Name" : "Test User17", "Age" : 27 }
{ "_id" : ObjectId("666a617da0184f8213fade98"), "Name" : "Test User18", "Age" : 28 }
{ "_id" : ObjectId("666a617da0184f8213fade99"), "Name" : "Test User19", "Age" : 29 }
{ "_id" : ObjectId("666a617da0184f8213fade9a"), "Name" : "Test User20", "Age" : 30 }
Type "it" for more

2.只选择两列,并且根据年龄降序:-1

> db.users.find({"Gender":"F"},{"Name":1,"Age":1}).sort({"Age":-1})
{ "_id" : ObjectId("666a6175a0184f8213fade86"), "Age" : 45 }
{ "_id" : ObjectId("666a617da0184f8213fade9a"), "Name" : "Test User20", "Age" : 30 }
{ "_id" : ObjectId("666a617da0184f8213fade99"), "Name" : "Test User19", "Age" : 29 }
{ "_id" : ObjectId("666a617da0184f8213fade98"), "Name" : "Test User18", "Age" : 28 }
{ "_id" : ObjectId("666a617da0184f8213fade97"), "Name" : "Test User17", "Age" : 27 }
{ "_id" : ObjectId("666a617da0184f8213fade96"), "Name" : "Test User16", "Age" : 26 }
{ "_id" : ObjectId("666a617da0184f8213fade95"), "Name" : "Test User15", "Age" : 25 }
{ "_id" : ObjectId("666a617da0184f8213fade94"), "Name" : "Test User14", "Age" : 24 }
{ "_id" : ObjectId("666a617da0184f8213fade93"), "Name" : "Test User13", "Age" : 23 }
{ "_id" : ObjectId("666a617da0184f8213fade92"), "Name" : "Test User12", "Age" : 22 }
{ "_id" : ObjectId("666a617da0184f8213fade91"), "Name" : "Test User11", "Age" : 21 }
{ "_id" : ObjectId("666a617da0184f8213fade90"), "Name" : "Test User10", "Age" : 20 }
{ "_id" : ObjectId("666a617da0184f8213fade8f"), "Name" : "Test User9", "Age" : 19 }
{ "_id" : ObjectId("666a617da0184f8213fade8e"), "Name" : "Test User8", "Age" : 18 }
{ "_id" : ObjectId("666a617da0184f8213fade8d"), "Name" : "Test User7", "Age" : 17 }
{ "_id" : ObjectId("666a617da0184f8213fade8c"), "Name" : "Test User6", "Age" : 16 }
{ "_id" : ObjectId("666a617da0184f8213fade8b"), "Name" : "Test User5", "Age" : 15 }
{ "_id" : ObjectId("666a617da0184f8213fade8a"), "Name" : "Test User4", "Age" : 14 }
{ "_id" : ObjectId("666a617da0184f8213fade89"), "Name" : "Test User3", "Age" : 13 }
{ "_id" : ObjectId("666a617da0184f8213fade88"), "Name" : "Test User2", "Age" : 12 }
Type "it" for more

由此可见:1代表升序,-1代表降序。

3.排序字段有多个 

> db.users.find({"Gender":"F"},{"Name":1,"Age":1}).sort({"Name":-1,"Age":1})
{ "_id" : ObjectId("666a617da0184f8213fade8f"), "Name" : "Test User9", "Age" : 19 }
{ "_id" : ObjectId("666a617da0184f8213fade8e"), "Name" : "Test User8", "Age" : 18 }
{ "_id" : ObjectId("666a617da0184f8213fade8d"), "Name" : "Test User7", "Age" : 17 }
{ "_id" : ObjectId("666a617da0184f8213fade8c"), "Name" : "Test User6", "Age" : 16 }
{ "_id" : ObjectId("666a617da0184f8213fade8b"), "Name" : "Test User5", "Age" : 15 }
{ "_id" : ObjectId("666a617da0184f8213fade8a"), "Name" : "Test User4", "Age" : 14 }
{ "_id" : ObjectId("666a617da0184f8213fade89"), "Name" : "Test User3", "Age" : 13 }
{ "_id" : ObjectId("666a617da0184f8213fade9a"), "Name" : "Test User20", "Age" : 30 }
{ "_id" : ObjectId("666a617da0184f8213fade88"), "Name" : "Test User2", "Age" : 12 }
{ "_id" : ObjectId("666a617da0184f8213fade99"), "Name" : "Test User19", "Age" : 29 }
{ "_id" : ObjectId("666a617da0184f8213fade98"), "Name" : "Test User18", "Age" : 28 }
{ "_id" : ObjectId("666a617da0184f8213fade97"), "Name" : "Test User17", "Age" : 27 }
{ "_id" : ObjectId("666a617da0184f8213fade96"), "Name" : "Test User16", "Age" : 26 }
{ "_id" : ObjectId("666a617da0184f8213fade95"), "Name" : "Test User15", "Age" : 25 }
{ "_id" : ObjectId("666a617da0184f8213fade94"), "Name" : "Test User14", "Age" : 24 }
{ "_id" : ObjectId("666a617da0184f8213fade93"), "Name" : "Test User13", "Age" : 23 }
{ "_id" : ObjectId("666a617da0184f8213fade92"), "Name" : "Test User12", "Age" : 22 }
{ "_id" : ObjectId("666a617da0184f8213fade91"), "Name" : "Test User11", "Age" : 21 }
{ "_id" : ObjectId("666a617da0184f8213fade90"), "Name" : "Test User10", "Age" : 20 }
{ "_id" : ObjectId("666a617da0184f8213fade87"), "Name" : "Test User1", "Age" : 11 }

按照名字降序,年龄升序。

4.limit 只取N行记录。

> db.users.find({"Gender":"F",$or:[{"Country":"India"},{"Country":"US"}]}).limit(2)
{ "_id" : ObjectId("666a6175a0184f8213fade86"), "FName" : "Test User", "Age" : 45, "Gender" : "F", "Country" : "US" }
{ "_id" : ObjectId("666a617da0184f8213fade87"), "Name" : "Test User1", "Age" : 11, "Gender" : "F", "Country" : "India" }

这里取了女生中,国籍是US,India,只取2条。

5.skip  跳过几行再取 

> db.users.find({"Gender":"F",$or:[{"Country":"India"},{"Country":"US"}]}).limit(2).skip(2)
{ "_id" : ObjectId("666a617da0184f8213fade88"), "Name" : "Test User2", "Age" : 12, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade89"), "Name" : "Test User3", "Age" : 13, "Gender" : "F", "Country" : "India" }
> 

跳过前2行,取两行。

6.findOne() 返回集合中第一个记录 

> db.users.findOne()
{
	"_id" : ObjectId("666a6168a0184f8213fade85"),
	"FName" : "Test",
	"LName" : "User",
	"Age" : 30,
	"Gender" : "M",
	"Country" : "US"
}

> db.users.find();
{ "_id" : ObjectId("666a6168a0184f8213fade85"), "FName" : "Test", "LName" : "User", "Age" : 30, "Gender" : "M", "Country" : "US" }
{ "_id" : ObjectId("666a6175a0184f8213fade86"), "FName" : "Test User", "Age" : 45, "Gender" : "F", "Country" : "US" }
{ "_id" : ObjectId("666a617da0184f8213fade87"), "Name" : "Test User1", "Age" : 11, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade88"), "Name" : "Test User2", "Age" : 12, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade89"), "Name" : "Test User3", "Age" : 13, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8a"), "Name" : "Test User4", "Age" : 14, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8b"), "Name" : "Test User5", "Age" : 15, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8c"), "Name" : "Test User6", "Age" : 16, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8d"), "Name" : "Test User7", "Age" : 17, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8e"), "Name" : "Test User8", "Age" : 18, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade8f"), "Name" : "Test User9", "Age" : 19, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade90"), "Name" : "Test User10", "Age" : 20, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade91"), "Name" : "Test User11", "Age" : 21, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade92"), "Name" : "Test User12", "Age" : 22, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade93"), "Name" : "Test User13", "Age" : 23, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade94"), "Name" : "Test User14", "Age" : 24, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade95"), "Name" : "Test User15", "Age" : 25, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade96"), "Name" : "Test User16", "Age" : 26, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade97"), "Name" : "Test User17", "Age" : 27, "Gender" : "F", "Country" : "India" }
{ "_id" : ObjectId("666a617da0184f8213fade98"), "Name" : "Test User18", "Age" : 28, "Gender" : "F", "Country" : "India" }
Type "it" for more
> 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值