【问题标题】:How to display the first and last record from a collection?如何显示集合中的第一条和最后一条记录?
【发布时间】:2022-11-27 09:37:56
【问题描述】:
[
{
    "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
},
]

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

【问题讨论】:

  • 首先和最后根据什么,EmpId?这对于$sort$limit$unionWith是可行的,但您需要说明您使用的顺序

标签: mongodb nosql


【解决方案1】:

正如@user20042973 评论的那样,您需要澄清您对“第一”/“最后”使用的顺序。

一般来说,你可以这样做:

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

Mongo Playground

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多