一、安裝和部署 1、服務端安裝 1、官網下載(官方網站 https://www.mongodb.org/downloads/#production),傻瓜式安裝,註意修改安裝路徑。 安裝完成後的目錄結構: bin中,mongo.exe 為客戶端,mongod.exe 為資料庫: 2、配置環境變數 2 ...
一、安裝和部署
1、服務端安裝
1、官網下載(官方網站 https://www.mongodb.org/downloads/#production),傻瓜式安裝,註意修改安裝路徑。
安裝完成後的目錄結構:
bin中,mongo.exe 為客戶端,mongod.exe 為資料庫:
2、配置環境變數
2、啟動服務端
1、配置數據存放地址
創建數據目錄:D:\MongoDB\data
2、配置日誌存放地址
創建日誌目錄:D:\MongoDB\log
在命令行中配置:
註意:
1、啟動成功後再當前控制臺中不會有任何提示(沒有消息就是最好的消息)。
2、在日誌文件可以查看是否啟動成功。
3、不要關閉這個命令行。
3、查看 data 、 log 文件夾 和 demo.log 文件:
1、data 文件夾:
2、log 文件夾:
3、打開 demo.log:
在 demo.log 文件中,可以看到是否配置成功,配置的一些信息。
3、啟動客戶端
在命令行中輸入 mongo.exe 顯示如下信息:
二、MongoDB 和其他資料庫的區別
三、應用
1、常用命令
1、db.help() 查看命令提示:
2、db 查看當前所在資料庫名字:
3、use命令 use + 資料庫名 表示切換或是創建資料庫:
4、show dbs 顯示資料庫,需要註意的是show dbs,只會顯示有數據的庫,沒有數據的庫,是不會顯示的。下圖中,dqs資料庫中,開始沒有數據,所以不會顯示,當我插入一條資料庫後,show dbs 就會顯示它。
5、db.dropDatabase() 刪除當前資料庫的數據:
6、db.stats() 查看當前數據的狀態:
解釋:
"db" : "zt01" ,表示當前是針對 "zt01" 這個資料庫的描述。
"collections" : 0,表示當前資料庫有多少個collections.可以通過運行show collections查看當前資料庫具體有哪些collection。
"objects" : 0,表示當前資料庫所有collection總共有多少行數據。顯示的數據是一個估計值,並不是非常精確。
"avgObjSize" : 0,表示每行數據平均大小,也是估計值,單位是bytes。
"dataSize" : 0,表示當前資料庫所有數據的總大小,不是指占有磁碟大小。單位是bytes。
"storageSize" : 0,表示當前資料庫占有磁碟大小,單位是bytes,因為mongodb有預分配空間機制,為了防止當有大量數據插入時對磁碟的壓力,因此會事先多分配磁碟空間。
"numExtents" : 0,事件數。
"indexes" : 0,表示system.indexes表數據行數。
"indexSize" : 0,表示索引占有磁碟大小。單位是bytes
"fileSize" : 0,表示當前資料庫預分配的文件大小。
7、db.version() 查看mongoDB版本:
8、db.getMongo() 查看當前連接機器的ip:
9、db.createCollection() 創建集合:
10、db.collection.drop() 刪除集合:
11、db.COLLECTION_NAME.insert(document) 插入文檔:
MongoDB 插入數據就和插入 json 數據一樣。
文檔 document:json格式字元串
{ "_id" : ObjectId("5aa1e91d9f51d3ee8ed16453"), "title" : "mongodb study", "by" : "zt1994" }
12、update() 方法用於更新已存在的文檔:
語法:
1 db.collection.update( 2 <query>, query : update的查詢條件,類似sql update查詢內where後面的。 3 <update>, update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的 4 { 5 upsert: <boolean>, upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。 6 multi: <boolean>, multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。 7 writeConcern: <document> writeConcern :可選,拋出異常的級別。 8 } 9 )