Dit werkte voor mij:
mongo --eval "var my_var = '$MY_VAR'" my_script.js
Laat de <
weg . mongo
zal alle resterende argumenten op de opdrachtregel verwerken als bestanden die moeten worden uitgevoerd/geïnterpreteerd, maar blijkbaar wordt de shell-invoeromleiding gecombineerd met --eval
zorgt ervoor dat de javascript-naamruimte opnieuw wordt ingesteld.
Ik neem aan, maar kan niet bevestigen dat dit komt omdat bestandsnamen die als argumenten worden doorgegeven, worden verwerkt via de load()
mechanisme, dat volgens https://docs.mongodb.com/v3 .2/referentie/methode/laden/
, gedraagt zich als volgt: