mongodb安裝教程(一)


版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接: https://blog.csdn.net/fengtingYan/article/details/88371232

4.0.6版本的網盤地址:
鏈接:https://pan.baidu.com/s/14oXqAuJZplcq2RoDTLn6-Q
提取碼:e572

在這里插入圖片描述

1下載: https://www.mongodb.com/download-center/community?jmp=nav

在這里插入圖片描述
3.4.4 的網盤下載地址 https://pan.baidu.com/s/1mhPejwO#list/path=%2Fwindows soft

教程 http://www.imooc.com/article/18438
在這里插入圖片描述
這里我下載了4.0.6的
在這里插入圖片描述
在這里插入圖片描述

2 雙擊下載后的安裝程序,選擇“Complete”安裝完整版本。這個過程非常簡單,除了“下一步”就是最后的“完成”。

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
安裝好以后接下來是配置

3.配置

3.1 創建D:\mongodb\data\log目錄,用來存放日志文件;
3.2 在D:\mongodb\data\log目錄里新建mongodb.log,用來存放日志信息;
3.3 創建D:\mongodb\data\db目錄,用來存放數據庫數據,
3.4 並在D:\mongodb目錄下創建mongo.config,在文件內部復制如下文本:

##數據文件  此處=后對應到數據所存放的目錄
dbpath=d:\mongodb\data\db
##日志文件  此處=后對應到日志文件所在路徑
logpath=d:\mongodb\data\log\mongodb.log
##錯誤日志采用追加模式,配置這個選項后mongodb的日志會追加到現有的日志文件,而不是從新創建一個新文件
logappend=true 
#啟用日志文件,默認啟用
journal=true 
#這個選項可以過濾掉一些無用的日志信息,若需要調試使用請設置為false
quiet=true 
#端口號 默認為27017
port=27017
4.測試是否安裝成功
進入C:\Program Files\MongoDB\Server\3.4\bin文件夾下,點擊mongod.exe,如果閃一下退出,說明安裝正常

在這里插入圖片描述

5.安裝服務

用管理員權限打開cmd命令行,輸入如下命令安裝mongodb服務

sc create MongoDB binPath= "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe --service --config=D:\mongodb\mongo.config"

或先進入C:\Program Files\MongoDB\Server\3.4\bin文件夾,使用如下命令:

mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"

或先進入C:\Program Files\MongoDB\Server\3.4\bin文件夾,使用如下命令:

mongod --logpath "D:\mongodb\data\log\mongodb.log" --logappend --dbpath "D:\mongodb\data\db" --serviceName "MongoDB" --install

在這里插入圖片描述
在cmd.exe上輸入services.msc打開服務管理器,找到MongoDB服務,設置成自動啟動,並啟動

如果啟動不成功,先刪除服務,使用如下命令:

sc delete MongoDB

然后再從第3步開始重新排查各種配置項及操作


6.配置環境變量(可省略)

6.1如果不配置環境變量可進入C:\Program Files\MongoDB\Server\3.4\bin,然后把mongo.exe發送桌面作為快捷方式
6.2 還可以通過設置環境變量的方式,讓mongo命令在所有文件夾內都可以訪問
在這里插入圖片描述

在系統變量中找到path,window7或window8雙擊打開后在變量值中的末尾增加
;C:\Program Files\MongoDB\Server\3.4\bin\配置成之后,可以在任何目錄下去調用mongo命令,打開如下圖:
在這里插入圖片描述
注意:Window10 可新建一個選項,輸入C:\Program Files\MongoDB\Server\3.4\bin即可!
在這里插入圖片描述
在這里插入圖片描述
7.推薦使用的圖形化工具
Robo 3T 下載地址:
https://robomongo.org/
MongoBooster 下載地址:
http://www.softpedia.com/get/Internet/Servers/Database-Utils/MongoBooster.shtml
在這里插入圖片描述


一些命令

在這里插入圖片描述

以下命令是必須掌握的: 

mongo   
運行mongo

db	
顯示當前的數據庫名稱

show dbs	
顯示當前服務器下數據庫(非空的數據庫)列表

use test	
如果test數據庫不存在,則創建test數據庫
如果test已存在,則切換到test數據庫

show collections	
顯示當前數據庫下所包含的集合(表)列表

db.users.insert({name:'zhangsha'})	
向users集合中插入數據
如果users集合存在,則直接插入數據,如果不存在,則創建users集合再插入數據

db.createCollection('products')
創建一個空集合products

db.products.insert([{name:'lishi'},{name:'wangwu'}])		
一次插入多個數據

db.products.find()
查詢products集合中所有的數據

db.products.find({name:'蘋果手機'})
查詢stu集合中name='蘋果手機'的數據

db.products.find({name:{$eq:'蘋果手機'}})
同上,$eq=>等號,建議使用上面的方式,易記,易輸入
eq = equal

db.products.find({price:{$gt:18}})
查詢stu集合中age>18的數據  
 
把$gt換成如下的符號試試:
$gt=>大於   great
$gte=>大於等於 great equal
$lt=>小於   less than
$lte=>小於等於 less than equal
$ne=>不等於  not equal
$in=>在范圍內
$nin=>不在范圍內
以上幾個符號格式總結為:{ field: {符號: value}}

db.products.find({name:/^華為/})
查找stu集合中name域中以“華為”字符的開頭的數據

db.products.find({name:{$in:['手機1','手機2']}})
查詢stu集合中name='手機1'和name='手機2'的數據
$in=>在范圍內
$nin=>不在范圍內
以上兩個符號格式為:{ field:{符號:[value1,value2,....]}}

db.products.find({name:"華為手機",price:800})
查找name="華為手機"並且price:800的數據

db.products.find({$or:[{name:'華為手機'},{price:{$lt:1000}}]})
查詢products集合中name='華為手機' 或者 price<1000的數據
$or=>或者  注意$or:[{},{},....]
$and=>並且  格式同$or, 例:{$and:[{},{},....]}
$nor=>not or 與$or相反, 格式同$or

db.products.find({price:{$not:{$gt:100}}})
查詢products集合中price<=100的數據,不存在price屬性的數據也會查詢出來
$not=>取反 

db.products.find({price:{$exists: true}})
查詢products集合中包含域名稱為price的數據

db.products.find({name:{$type:2}})
查詢products集合中name屬性為字符串類型的數據

db.products.find({
	$where: function(){
		return this.name == '華為手機'
	}
})
查詢products集合中name='華為手機’的數據

db.products.find({
	$where: function(){
 		return  this.name.indexOf('華為手機') > -1;
	}
})
查詢products集合中name域中包含“華為手機”字符的數據

db.products.update({name:'華為手機'},{$set:{price:2000}},{
	upsert: true,
	multi:false
})
把products集合中name='華為手機'的那條數據,把price屬性設置成2000,其它屬性保留
$set是指更改的屬性列表,不在列表中其他屬性會被保留,如果不加此符號,其它屬性會被丟棄(_id屬性比較特殊,不會丟失)
upsert:true如果沒有符號條件的更新時,則插入一條,為false時,則不會插入, 默認是false
multi:false一次只能更新一條數據,為true時,可更新多條,默認是false

db.students.remove({})
清空集合students

db.products.remove({name:'abc'})
刪除products集合中name='abc'的數據,注意,即使把集合products中的所有數據都刪除了
products集合仍然存在, remove()是用來刪除數據的,而drop()不僅會刪除數據,還會把
集合的結構給刪除

db.products.drop()
把stu集合徹底從當前數據中刪除,集合stu不再存在,注意與remove()的區別

db.dropDatabase()
刪除當前數據庫

db.users.distinct('name')
查詢users集合中不重復的name屬性,返回的是數組

db.stu.count({name:'zhangshan'})
查詢stu集合中name='zhangshan'的數據數量

db.stu.find().limit(5)
查詢stu集合中前5條數據

db.stu.find().skip(5)
查詢stu集合中跳過前5條后的數據

db.stu.find().sort({name:1})
查詢stu集合中的全部數據,並按name屬性正序排列  注:1:正序 -1: 倒序

由於mongodb的api接口方法很多,除以上命令外,其他的命令請多看官方文檔
要求:根據官方文檔中的方法原型,能夠操作相應的方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM