Je suis la mise en place d'un script Mongo pour prendre des variables par --eval, comme ceci:Travailler avec des variables non définies à Mongo shell
mongo mydb myscript.js --eval "parameter = 'value'"
Cependant, je veux que le script fonctionne toujours sans nécessiter l'--eval
.
Si tel était JS basé sur un navigateur, je venais de faire une sorte de chose var internalParameter = window.parameter || null
pour contourner le ReferenceError lancé en vérifiant une variable non définie, mais mongo
n'a pas de window
. Est-il possible d'accéder à des variables via l'objet global dans les scripts Mongo, ou dois-je simplement envelopper dans un try/catch?
Non, vous ne pouvez pas. Si 'parameter' est indéfini, le référencer provoque une erreur ReferenceError. –
@ StuartP.Bentley Cela a bien fonctionné quand je l'ai essayé avec la coque mongo 2.2.2. Si 'parameter' n'est pas défini, la partie' var parameter' de l'instruction le définit avant le reste de l'instruction en cours d'évaluation. – JohnnyHK
Bon, je suppose que c'est une solution de contournement possible - si vous faites un paramètre var = paramètre || null' d'abord, cela fonctionne (probablement parce que la déclaration de variable compte dans l'assignation). Je suis toujours curieux de savoir s'il existe un moyen de le faire sans définir la variable d'entrée (ie 'var differentParameterName = paramètre || null'). –