为了账号安全,请及时绑定邮箱和手机立即绑定

传递一个值来访问对象 - Mongodb

传递一个值来访问对象 - Mongodb

胡子哥哥 2022-10-13 16:02:47
在 $group 完成后,我在 $_id 中有一个数字。但是,我需要这个值来访问一个对象并返回你的字符串。const week = {  1: 'Domingo',  2: 'Segunda',  3: 'Terça',  4: 'Quarta',  5: 'Quinta',  6: 'Sexta',  7: 'Sábado',}db.trips.aggregate(  [    {      $group: {        _id: {          $dayOfWeek: "$startTime"        },        qtd: {          $sum: 1        }      }    },        {      $project: {        diaDaSemana: week["$_id"],        total: "$qtd",      }    }  ]);我尝试了很多次,但没有奏效。感谢帮助。
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

聚合管道不像 javascript 那样取消引用对象。


如果您将天数作为数组传递,则在$project阶段中,您可以使用$arrayElemAt来获取相应的字符串。


您将需要第零个元素来偏移索引,以便“Domingo”位于索引 1:


const week = [

  'Nada',

  'Domingo',

  'Segunda',

  'Terça',

  'Quarta',

  'Quinta',

  'Sexta',

  'Sábado',

]

然后在$project阶段:


    diaDaSemana: {$arrayElemAt: [week, "$_id"]},


查看完整回答
反对 回复 2022-10-13
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信