Вот

я обновил свой вопрос. Это входные данные, вы можете использовать эту команду для вставки в вашу локальную базу данных:

db.pms_teamleadtimesheets.insertMany( [
      { "Text" : "Analysis",
    "Comments" : "4",
    "TaskType" : "DELIVERY",
    "Items" : "Others",
    "StartDate" : "28-05-2018",
    "EndDate" : "2018-05-28",
    "Hours" : 240,
    "phase" : "Analysis",
    "ProjectID" : "5a042ba02af18ac8388bd3c0",
    "UserName" : "Admin",
    "FacilityID" : "59a53f0c6077b2a029c52b7f",
    "TaskID" : "5b0baafffb8df2401af90fea",
    "TaskDescription" : "Analysis",
    "IsBillable" : true
     },
      {  "Text" : "Analysis",
    "Comments" : "8",
    "TaskType" : "DELIVERY",
    "Items" : "Others",
    "StartDate" : "28-05-2018",
    "EndDate" : "2018-05-28",
    "Hours" : 240,
    "phase" : "Analysis",
    "ProjectID" : "5a042ba02af18ac8388bd3c0",
    "UserName" : "Admin",
    "FacilityID" : "59a53f0c6077b2a029c52b7f",
    "TaskID" : "5b0baafffb8df2401af90fea",
    "TaskDescription" : "Analysis",
    "IsBillable" : true
   },
      {"Text" : "Analysis",
    "Comments" : "2",
    "TaskType" : "DELIVERY",
    "Items" : "CRI",
    "StartDate" : "29-05-2018",
    "EndDate" : "2018-05-29",
    "Hours" : 120,
    "phase" : "Analysis",
    "ProjectID" : "5a042ba02af18ac8388bd3c0",
    "UserName" : "Admin",
    "FacilityID" : "59a53f0c6077b2a029c52b7f",
    "TaskID" : "5b0baafffb8df2401af90fea",
    "TaskDescription" : "Analysis",
    "IsBillable" : true
    },
       { "Text" : "Analysis",
    "Comments" : "2",
    "TaskType" : "DELIVERY",
    "Items" : "CRI",
    "StartDate" : "29-05-2018",
    "EndDate" : "2018-05-29",
    "Hours" : 120,
    "phase" : "Analysis",
    "ProjectID" : "5a042ba02af18ac8388bd3c0",
    "UserName" : "Admin",
    "FacilityID" : "59a53f0c6077b2a029c52b7f",
    "TaskID" : "5b0baafffb8df2401af90fea",
    "TaskDescription" : "Analysis",
    "IsBillable" : true }
   ] );

Из этой коллекции я хочу сделать отчетливое и суммированное. Здесь отлично работает отлично, но сумма не работает.

это запрос, который я использовал:

db.Collection.aggregate([
        //where query
        { "$match": { UserName: "USER",FacilityID:"FID",ProjectID:"ID" } },
        //distinct column 
        { "$group": { _id: { ProjectID: "$ProjectID", Task: "$Text", Phase: "$phase", Comments: "$Comments", TaskType: "$TaskType", Items: "$Items", UserName: "$UserName", IsBillable: "$IsBillable", Date: "$StartDate", Hours:{$sum:"$Hours" } }} },
        //provide column name for the output
        { "$project": { _id: 0, ProjectID: "$_id.ProjectID" ,Phase: "$_id.Phase",Task: "$_id.Task",Comments: "$_id.Comments",TaskType: "$_id.TaskType",Items: "$_id.Items",UserName: "$_id.UserName",IsBillable: "$_id.IsBillable",Date: "$_id.Date",Hours:  { $divide: [ "$_id.Hours", 60 ] } } }
    ]);

Я получаю такой результат. Он не рассчитывает сумму стоимости.

Общее количество часов не добавляется здесь. Он должен вернуть 4, но здесь он возвращает 2.

Кто-нибудь может разрешить мне решить это?

Ответы на вопрос(1)

Ваш ответ на вопрос