2013-02-20 68 views
2

有沒有辦法在mongo shell中取消設置變量。例如,如果我在定義它之前嘗試引用myvar,我會得到ReferenceError: myvar is not defined (shell):1,但是一旦我定義了它並完成了它,我想將它返回到該狀態。mongo shell中的未設置變量

我試着將它設置爲nullundefined,這兩者都沒有工作。

編輯:當試圖delete運算符,我得到下面的輸出:

> var myvar = 5 
> myvar 
5 
> delete myvar 
false 
> 
> myvar 
5 
> 

回答

3

蒙戈外殼是一個交互式的JavaScript外殼,讓你可以使用delete操作:

$ mongo 
MongoDB shell version: 2.2.3 
connecting to: test 
> myvar 
Wed Feb 20 12:08:35 ReferenceError: myvar is not defined (shell):1 
> myvar = {x: 1} 
{ "x" : 1 } 
> myvar 
{ "x" : 1 } 
> delete myvar 
true 
> myvar 
Wed Feb 20 12:08:59 ReferenceError: myvar is not defined (shell):1 
> 
+0

有趣的是,當我這樣做時我得到了不同的輸出......我將編輯我的問題以顯示。 – 2013-02-20 18:55:08

+0

我也用var聲明瞭我的變量 - 這是否有所作爲? – 2013-02-20 19:07:00

+1

@jeffstorey區別在這裏解釋http://www.javascripter.net/faq/deleteavariable.htm – 2013-02-20 19:09:29

1

你也可以刪除存儲在變量中的文檔中的字段。此示例代碼顯示如何從矩形文檔中刪除名爲「oops」的字段。

> var rectangle = { "length":5, "width":10, "oops":20 } 
{ "length":5, "width":10, "oops":20 } 

> delete rectangle.oops 
true 

> rectangle 
{ "length":5, "width":10 }