Ini berhasil untuk saya:
mongo --eval "var my_var = '$MY_VAR'" my_script.js
Tinggalkan <
. mongo
akan memproses argumen yang tersisa pada baris perintah sebagai file yang akan dieksekusi/ditafsirkan, tetapi tampaknya menggabungkan pengalihan input shell dengan --eval
menyebabkan namespace javascript disetel ulang.
Saya berasumsi tetapi tidak dapat mengonfirmasi bahwa ini karena nama file yang diteruskan sebagai argumen diproses melalui load()
mekanisme, yang menurut https://docs.mongodb.com/v3 .2/reference/method/load/
, berperilaku sebagai berikut: