$addFields

MongoDB 🟡 Mid

Définition

Stage d'aggregation qui ajoute de nouveaux champs aux documents sans supprimer les champs existants. Alias de $set dans le contexte d'aggregation.

Analogie

Coller un post-it supplémentaire sur une fiche sans rien effacer de ce qui est déjà écrit.

Exemple de code

{ $addFields: {
  totalPrice: {
    $multiply: ['$price', '$quantity']
  },
  isExpensive: {
    $gt: ['$price', 100]
  }
}}

Cas d'usage

Enrichir les documents avec des champs calcules sans perdre les données originales.

#sgbd#interview#database#mongodb

En entretien

  1. Quelle différence entre $addFields et $project dans un pipeline d'aggregation ?

    $addFields ajoute des champs sans toucher aux champs existants, alors que $project restructure le document en incluant/excluant explicitement des champs. $addFields est d'ailleurs un alias de $set dans le contexte d'aggregation.

  2. Comment enrichirais-tu des documents avec un champ calculé sans perdre les données d'origine ?

    Tu utilises $addFields avec une expression comme $multiply sur price et quantity pour ajouter un champ comme totalPrice. C'est justement l'usage cible : enrichir les documents avec des champs calculés sans perdre les données originales.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre