本文地址http://www.cnblogs.com/egger/archive/2013/04/30/3052142.html歡迎轉(zhuǎn)載 集歇,請(qǐng)保留此鏈接??? ????隶垮!
MongoDB shell
MongoDB自帶簡(jiǎn)潔但功能強(qiáng)大的JavaScript shell侠仇。JavaScript shell鍵入一個(gè)變量會(huì)將變量的值轉(zhuǎn)換為字符串打印到控制臺(tái)上。
下面介紹基本的操作察净,一些注意事項(xiàng)根资。數(shù)據(jù)庫(kù)CRUD操作將在下面的篇幅中介紹《NoSQL學(xué)習(xí)之路 (四):創(chuàng)建、讀取倒槐、更新旬痹、刪除(CRUD)》
打開命令提示(cmd.exe)。進(jìn)入到MongoDB解壓的目錄的bin目錄下讨越,即D:\NoSQL\mongodb-win32-x86_64-2.4.3\bin;然后執(zhí)行mongo.exe(或者mongo)啟動(dòng)MongoDB shell两残。
shell默認(rèn)連接test數(shù)據(jù)庫(kù)。要使用別的數(shù)據(jù)庫(kù)谎痢,在服務(wù)器地址后添加斜杠和數(shù)據(jù)庫(kù)名就可以了(下圖連接的就是本地默認(rèn)端口的mongod,但用的是admin數(shù)據(jù)庫(kù)):
還有一種方法選擇連接數(shù)據(jù)庫(kù)磕昼,像SQL shell中一樣,使用"usedatabaseName",數(shù)據(jù)庫(kù)不存在也沒關(guān)系卷雕。使用"db"查看當(dāng)前連接數(shù)據(jù)庫(kù)名詞节猿。
使用--nodb選項(xiàng)啟動(dòng)shell,而不連接數(shù)據(jù)庫(kù)。
Tips:使用ctrl+w快速刪除光標(biāo)所在行內(nèi)容漫雕。
使用db.help()可以查看數(shù)據(jù)庫(kù)級(jí)別的命令的幫助滨嘱,集合的相關(guān)幫助可以通過db.foo.help()來査看。
有個(gè)了解函數(shù)功用的技巧浸间,就是在輸入的時(shí)候不要輸括號(hào)太雨。這樣就會(huì)顯示該函數(shù)的JavaScript源代碼。下面我們看看remove的機(jī)制:
使用db.集合名的方式來訪問集合一般不會(huì)有問題魁蒜,但如果集合名恰好是數(shù)據(jù)庫(kù)類的一個(gè)屬性時(shí)就不行了囊扳。當(dāng)JavaScript只有在db中找不到指定的屬性時(shí),才會(huì)將其作為集合返回兜看。當(dāng)有屬性
與目標(biāo)集合同名時(shí)锥咸,可以使用getCollection函數(shù)。
例如细移,要訪問version這個(gè)集合搏予。因?yàn)閐b.version是個(gè)數(shù)據(jù)庫(kù)函數(shù)(它返回正在運(yùn)行的MongoDB服務(wù)器的版本)。所以輸入db.version會(huì)顯示該函數(shù)的JavaScript源代碼弧轧,而不是我們想顯示的集合雪侥。
當(dāng)我們遍歷集合眾文檔信息時(shí)碗殷,可以書用"."操作符。
Show(db.posts.title);
Show(db.posts.content);
……
也可以使用數(shù)組訪問形式來訪問子集合:
collections=["title","author","content","date"];for(iincollections) {
Show(db.posts[collections[i]]);
}
JavaScript解釋器
shell是功能完本的JavaScript解釋器 可以運(yùn)行任何JavaScript程序.
基本運(yùn)算:
調(diào)用Javascript標(biāo)準(zhǔn)庫(kù)或者函數(shù):
從shell中可以連接任意多個(gè)數(shù)據(jù)庫(kù)速缨,這對(duì)多個(gè)服務(wù)器的環(huán)境還是非常方便的锌妻。調(diào)用connect (),并將結(jié)果賦值給變量。