J'essaie d'utiliser une valeur de variable comme nom de colonne pour mettre à jour tous mes documents dans une collection. J'essaye ceci par la commande de coquille de robo mongo. Code est ci-dessous:comment utiliser la variable dans l'instruction de mise à jour - MongoDB
doc=db.Symbols.findOne();
for (key in doc)
{
db.getCollection('Symbols').update(
{ key : null },
{
$set: { key: ""}
},
{ multi: true, upsert: false }
)
}
mais ce code ne semble fonctionner pour moi. semble que la valeur dans la variable "clé" ne remplace pas à l'exécution et au lieu de comparer avec la valeur dans la clé variable robo mongo le comparer avec le mot "clé" lui-même. Une idée de comment faire cela?
Avez-vous vérifié ** [rename $] (https://docs.mongodb.com/manual/reference/operator/update/rename/) * * – Yogesh
@ yogesh- mon souci n'est pas de changer le nom de la colonne mais de mettre à jour toutes les valeurs de colonne qui contiennent null avec une chaîne vide. – shobhit
Ceci est une chose javascript, il traite 'key' comme chaîne littérale. Vous devez former les tableaux à l'extérieur manuellement comme 'crtiera [key] = null' et ensuite l'utiliser – Sammaye