亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mongodb Group 并從文檔中獲取其他字段

Mongodb Group 并從文檔中獲取其他字段

ABOUTYOU 2022-01-13 17:05:12
更新所以 Mohammad Faisal 有最好的解決方案。但是,當添加新文檔時它會中斷,哈哈!所以我從他的代碼中學到了很多東西并對其進行了修改,它可以工作!=) 代碼一直在底部。但這就是我所說的......所以我有這個文件{"_id":"5ddea2e44eb407059828d740","projectname":"wdym","username":"easy","likes":0,"link":["ssss"]}{"_id":"5ddea2e44eb407059822d740","projectname":"thechosenone","username":"easy","likes":30,"link":["ssss"]}{"_id":"5ddea2e44eb407059828d740","projectname":"thanos","username":"wiley","likes":10,"link":["ssss"]}基本上我想要的是包含最高贊及其相關項目名稱的文檔例如輸出將是"projectname":"thechosenone","username":"easy","likes":30},{"projectname":"thanos","username":"wiley","likes":10,}我為此擁有的代碼如下db    .collection("projects")    .aggregate([      {        $group: {          _id: { username: "$username" },          likes: { $max: "$likes" }        }      },      {        $project:{projectname:1}      }    ])$project 給了我一個奇怪的輸出。但是,如果沒有 $project,輸出是正確的。但我想投影項目名稱、用戶和最高點贊數。謝謝你聽我說:)
查看完整描述

2 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

如果您不必使用 $group 這將解決您的問題:


db.projects.aggregate([

  {$sort:{likes:-1}},

  {$limit:1} 

]).pretty()

結果是


{

  "_id" : ObjectId("5ddee7f63cee7cdf247059db"),

  "projectname" : "thechosenone",

  "username" : "easy",

  "likes" : 30,

  "links" : ["ssss"]

}


查看完整回答
反對 回復 2022-01-13
?
www說

TA貢獻1775條經驗 獲得超8個贊

試試這個:-


db.collection("projects").aggregate([

  {

    $group: {

      _id: { username: "$username" },

      likes: { $max: "$likes" },

      projectname: { $push : { $cond: [  { $max: "$likes" }, "$projectname", "" ]}}

    }

  }

  ,

  {

    $project:{

       username:"$_id.username",

       projectname:{"$reduce": {

            "input": "$projectname",

            "initialValue": { "$arrayElemAt": ["$projectname", 0] },

            "in": { "$cond": [{ "$ne": ["$$this", ""] }, "$$this", "$$value"] }

        }},

       likes:1

    }

  }

])


查看完整回答
反對 回復 2022-01-13
  • 2 回答
  • 0 關注
  • 542 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號