Toto fungovalo pro mě:
mongo --eval "var my_var = '$MY_VAR'" my_script.js
Vynechejte <
. mongo
zpracuje všechny zbývající argumenty na příkazovém řádku jako soubory ke spuštění/interpretaci, ale zřejmě kombinuje přesměrování vstupu shellu s --eval
způsobí reset jmenného prostoru javascriptu.
Předpokládám, ale nemohu potvrdit, že je to proto, že názvy souborů předané jako argumenty jsou zpracovány pomocí load()
mechanismus, který podle https://docs.mongodb.com/v3 .2/reference/method/load/
, se chová následovně: