首页 > 解决方案 > 在 mongodb 集合中使用三个参数月年和雇员 ID 查找数据

问题描述

这是我的数据:找到数据对象并使用三个参数 Month Year 和 employeeId 返回。

{
    "_id" : ObjectId("5f7217b7e72a11307321a301"),
    "employeeId" : "2707",
    "employeeName" : "gowdham",
    "status" : "Present",
    "date" : ISODate("2020-09-23T00:00:00Z"),
    "clientName" : "dcdcdc",
}
{
    "_id" : ObjectId("5f721b2de72a11307321a302"),
    "employeeId" : "2707",
    "employeeName" : "gowdham",
    "status" : "Present",
    "date" : ISODate("2020-09-28T00:00:00Z"),
    "clientName" : "Lorent",
    
}
{
    "_id" : ObjectId("5f72244be72a11307321a310"),
    "employeeId" : "2708",
    "employeeName" : "HrJosh",
    "status" : "Present",
    "date" : ISODate("2019-08-23T00:00:00Z"),
    "clientName" : "Lorent",
    
}

我需要找到所有 2019-08 持续时间和employeeId“2707”数据:

db.collection.find({
  "$expr": {
    "$and": [
      {"$eq": [{ "$year": "$date" }, 2019]},
      {"$eq": [{ "$month": "$date" }, 09]},
      {"$eq": { "$employeeId": "2707" }}

    ]
  }
});

这正确与否?我收到错误...请为此提供任何解决方案

预期输出是:

   {
    "_id" : ObjectId("5f7217b7e72a11307321a301"),
    "employeeId" : "2707",
    "employeeName" : "gowdham",
    "status" : "Present",
    "date" : ISODate("2020-09-23T00:00:00Z"),
    "clientName" : "dcdcdc",
}
{
    "_id" : ObjectId("5f721b2de72a11307321a302"),
    "employeeId" : "2707",
    "employeeName" : "gowdham",
    "status" : "Present",``
    "date" : ISODate("2020-09-28T00:00:00Z"),
    "clientName" : "Lorent",
    
}

标签: mongodb

解决方案


推荐阅读