comment mettre à jour un champ dans un document si le champ existe déjà sinon mettre à jour la valeur du champ? $ set met à jour correctement les documents sur lesquels le champ existe déjà. juste trouvé beaucoup d'astuces comment insérer un nouveau champ dans une collection entière, mais comment résoudre ce problème sur la base de documents?Mettre à jour ou insérer dans MongoDB
Cordialement, Chris
Vous semblez demander quelque chose de redondant - si le champ existe, comment mettre à jour un champ? Sinon, s'il n'existe pas, comment mettre à jour la valeur du champ? Vous utilisez simplement $ set de toute façon, peu importe si le champ existe déjà dans le document ou non. –
OK, ça marche! Voici l'exemple pour ppl avec le même problème (je cours le Moped Ruby Driver): 'irb> users.find.one => {" username "=>" kamatei "," _id "=>" a407ebb3d89abd380ddda074cf03b9e4 " } ' Ce que je besoin est: ' { "nom d'utilisateur" => "kamatei", "âge" => "26", "_id" => "a407ebb3d89abd380ddda074cf03b9e4"} ' Mise à jour via $ set: 'users.find (_id: "a407ebb3d89abd380ddda074cf03b9e4"). mise à jour (: $ set => {age: 26})' ... se termine par '{ "_id"=> "a407ebb3d89abd380ddda074cf03b9e4", "âge"= > 26, "nom d'utilisateur" => "kamatei"} ' Merci beaucoup pour votre aide! – ctp
vous pourriez vouloir accepter la réponse ci-dessous qui résume ceci. –