$set vs $addField в структуре агрегации MongoDB

#mongodb #aggregation-framework

Вопрос:

С MongoDB 4.2 у нас появилась новая стадия агрегации $set . Согласно документам,

$set этап-это псевдоним для $addFields (из MongoDB 3.4)

Но ничто не упоминало, почему необходимо иметь два этапа с одинаковой функциональностью.

Может ли кто-нибудь помочь понять это ? (возможно, начиная с версий

Ответ №1:

MongoDB 4.2 представил команды обновления, которые могут принимать конвейер агрегации.

$set уже давно существует оператор обновления, который делает то же самое при обновлении, $addFields что и этап при агрегировании.

Разрешение использования любого имени в конвейере агрегирования облегчает принятие новой команды обновления.