Вопросы по тегу: aggregation

(1)

Почему я не могу использовать поле проекции в примере с переключателем?

Я пытаюсь применить поле временной зоны под названием 'summary' к моим документам, делая кейс по месяцу, почему я не могу использовать поле проекции 'month' в моих кейсах switch? db.steps.aggregate( [ { $project: { patientName : 1, month: {$month: '$dateTime'}, hour: {$hour: '$dateTime'}, minute: {$minute: '$dateTime'}, day: {$dayOfMonth: '$dateTime'}, "summary" : { $switch: { branches: [ { case: { $eq : [ '$month', 6 ] }, then: "month 6" }, { case: { $eq : [ '$month', 7 ] }, then: "month 7" } ], default: "No value found." } } } }, { $group: { _id: {"day":"$day", "month":"$month", "summary":"$summary"}}} ]); Вместо того, чтобы получить правильные thens, он просто переходит к значениям по умолчанию:{ "_id" : { "day" : 24, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 29, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 22, "month" : 6, "summary" : "No value found." } } { "_id" : { "day" : 19, "month" : 7, "summary" : "No value found." } } { "_id" : { "day" : 6, "month" : 8, "summary" : "No value found." } } { "_id" : { "day" : 2, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 24, "month" : 7, "summary" : "No value found." } } { "_id" : { "day" : 6, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 31, "month" : 7, "summary" : "No value found." } } { "_id" : { "day" : 10, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 12, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 22, "month" : 9, "summary" : "No value found." } } { "_id" : { "day" : 13, "month" : 9, "summary" : "No value found." } } нельзя ли использовать поле проекции в том же этапе? Спасибо
G

GandhiAndy

год назад

Ответов: 1

2022 WebDevInsider