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: