第5章-MongoDB、Mongoskin特性-5.3.用控制檯操作Mongo

在mongodb的bin目錄輸入如下命令:
mongo,或者直接雙擊mongo.exe運行
如果已經將MongoDB的位置添加到了$PATH裏,可以直接輸入mongod

如果看到:MongoDB starting: pid=7218 port=27017…
這意味着MongoDB數據庫服務正在啓動。默認監聽http://localhost:27017。這是訪問MongoDB腳本和應用的主機和端口號。打開瀏覽器輸入http://localhost:28017,還可以看到版本號、日誌以及其他有用的信息。MongoDB服務佔用了兩個不同的端口(27017和28017);一個主要(本地)用於和app通信;另外一個是用於監聽/統計的Web GUI。
在Node.js代碼中,我們僅僅使用27017

一、用控制檯操作MongoDB

類似Node.js REPL,我們可以通過console/shell去啓動一個MongoDB數據庫實例,這意味着我們必須保持這個終端窗口和數據庫持續運行,才能夠正常訪問他。

關閉程序使用ctrl+c,如果使用ctrl+z只是讓程序休眠了(或者分離了終端窗口)
在這裏可以在結束時在數據文件裏面加鎖然後使用“kill”命令(例如:$killall node),
或者採用活動監控器並手動刪除數據文件夾中鎖上的文件。

二、MongoDB shell命令介紹

常用命令如下:
1.>help:輸出可用的命令列表
2.>show dbs:輸出數據庫服務器上數據庫的名稱到連接的控制檯上(默認是:localhost:27017;但是如果傳遞參數給mongo,可以連接任意遠程實例)
3.>use db_name:切換到db_name
4.>show collections:輸出選擇出的數據庫集合的列表
5.>db.collection_name.find(query);:查找所有匹配條件的數據
6.>db.collection_name.findOne(query);:查找一條匹配條件的數據
7.>db.collection_name.insert(document):在collection_name集合中插入一條數據
8.>db.collection_name.save(document);:保存一條數據到collection_name集合中---簡寫爲upsert(no_id)或者insert(with_id)
9.>db.collection_name.update(query, {$set: data});:用data對象的值更新匹配條件的collection_name集合的數據
10.>db.collection_name.remove(query);:刪除collection_name集合中所有匹配條件的數據
11.>printjson(document);:輸出參數文檔

我們還可以用JavaScript編寫操作腳本,例如儲存變量:
>var a = db.messages.findOne();
>printjson(a);
>a.text = "hi";
>printjson(a);
>db.messages.save(a);

這裏只列出了常用的一些命令,更多的命令得去查看官方MongoDB API
(update可以接受參數multi:true)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章