mongodb 如何显示集合中的第一条和最后一条记录?

uqdfh47h  于 2022-11-28  发布在  Go
关注(0)|答案(1)|浏览(225)
[
{
    "EmpId" : 1,
    "EmpFname" : "Karan",
    "EmpLname" : "mehta",
    "Department" : "HR",
    Salary : 300000
},
{
    "EmpId" : 2,
    "EmpFname" : "Rohit",
    "EmpLname" : "Sharma",
    "Department" : "Admin",
    Salary : 75000
},
{
    "EmpId" : 3,
    "EmpFname" :"Ankush",
    "EmpLname" :"Rajput",
    "Department" :"Account",
    "Salary" : 60000
},
{
    EmpId : 4,
    EmpFname :Priyadershini,
    EmpLname :Sharma,
    Department : HR,
    Salary : 500000
},
]

上面的集合是员工的详细信息。在这个集合中显示第一个和最后一个员工的详细信息。是否可以使用单个查询。我做了很多方法,但我不能得到答案

mrfwxfqh

mrfwxfqh1#

正如@user20042973所评论的,您需要澄清“first”/“last”使用的顺序。
一般来说,您可以这样做:

db.collection.aggregate([
  // first record
  {
    $sort: {
      Salary: 1
    }
  },
  {
    $limit: 1
  },
  {
    "$unionWith": {
      "coll": "collection",
      "pipeline": [
        {
          $sort: {
            Salary: -1
          }
        },
        {
          $limit: 1
        }
      ]
    }
  }
])

Mongo Playground

相关问题