Dette virkede for mig:
mongo --eval "var my_var = '$MY_VAR'" my_script.js
Udelad < . mongo vil behandle eventuelle resterende argumenter på kommandolinjen som filer, der skal udføres/fortolkes, men tilsyneladende kombinerer shell-input-omdirigeringen med --eval får javascript-navnerummet til at blive nulstillet.
Jeg antager, men kan ikke bekræfte, at dette skyldes, at filnavne, der sendes som argumenter, behandles via load() mekanisme, som ifølge https://docs.mongodb.com/v3 .2/reference/method/load/
, opfører sig som følger: