我設置了一個蒙戈腳本由--eval採取的變量,就像這樣:與不確定的變量蒙戈工作外殼
mongo mydb myscript.js --eval "parameter = 'value'"
不過,我希望腳本仍無需--eval
工作。
如果這是基於瀏覽器的JS,我只是做了var internalParameter = window.parameter || null
類的事情得到解決通過檢查未定義的變量拋出的ReferenceError,但mongo
沒有window
。是否可以通過Mongo腳本中的全局對象訪問變量,還是隻需要將其封裝在try/catch中?
不,你不能。如果'parameter'未定義,則引用它會導致ReferenceError。 –
@ StuartP.Bentley當我用2.2.2 mongo shell嘗試它時,它工作的很好。如果'parameter'未定義,那麼語句的'var parameter'部分將在評估其餘語句之前對其進行定義。 – JohnnyHK
好吧,我想這是一個可能的解決方法 - 如果你做了'var parameter = parameter ||首先,它工作(可能是因爲變量聲明在賦值中計數)。我仍然很好奇,如果沒有定義輸入變量的方法(即'var differentParameterName = parameter || null')。 –