MongoDB 是由C++語言編寫的,是一個(gè)基于分布式文件存儲(chǔ)的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。MongoDB旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對(duì)組成。MongoDB文檔類似于JSON對(duì)象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、云陽ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的云陽網(wǎng)站制作公司
- MongoDB 是一個(gè)面向文檔存儲(chǔ)的數(shù)據(jù)庫,操作起來比較簡(jiǎn)單和容易
- 在MongoDB記錄中設(shè)置任何屬性的索引來實(shí)現(xiàn)更快的排序
- 通過本地或者網(wǎng)絡(luò)創(chuàng)建數(shù)據(jù)鏡像,使得MongoDB有更強(qiáng)的擴(kuò)展性
- 如果負(fù)載的增加(需要更多的存儲(chǔ)空間和更強(qiáng)的處理能力),它可以分布在計(jì)算機(jī)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)上這就是所謂的分片
- Mongo支持豐富的查詢表達(dá)式。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對(duì)象及數(shù)組
- MongoDb 使用update()命令可以實(shí)現(xiàn)替換完成的文檔(數(shù)據(jù))或者一些指定的數(shù)據(jù)字段
- Mongodb中的Map/reduce主要是用來對(duì)數(shù)據(jù)進(jìn)行批量處理和聚合操作
- Map和Reduce。Map函數(shù)調(diào)用emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函數(shù)進(jìn)行處理
- Map函數(shù)和Reduce函數(shù)是使用Javascript編寫的,并可以通過db.runCommand或mapreduce命令來執(zhí)行MapReduce操作
- GridFS是MongoDB中的一個(gè)內(nèi)置功能,可以用于存放大量小文件
- MongoDB允許在服務(wù)端執(zhí)行腳本,可以用Javascript編寫某個(gè)函數(shù),直接在服務(wù)端執(zhí)行,也可以把函數(shù)的定義存儲(chǔ)在服務(wù)端,下次直接調(diào)用即可
- MongoDB支持各種編程語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言
- MongoDB安裝簡(jiǎn)單
cd /etc/yum.repos.d/
vim mongodb-org.repo
//創(chuàng)建yum倉庫,寫入如下內(nèi)容
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum install -y mongodb-org
配置文件的修改包括path、dbpath、port和bindIp,如果只在本機(jī)使用,完全可以不做更改直接使用,也可簡(jiǎn)單修改其監(jiān)聽地址(bindIp),為其他地址使用提供方便。
systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce 0
systemctl start mongod.service
netstat -anpt | grep mongod
mongo //進(jìn)入數(shù)據(jù)庫
db.version() //查看數(shù)據(jù)庫版本
show dbs //查看所有庫
db.getMongo() //查看當(dāng)前數(shù)據(jù)庫機(jī)器的連接地址
mkdir -p /data/mongodb/ //*保留原文件屬性進(jìn)行復(fù)制
mkdir /data/mongodb/mongo
touch /data/mongodb/mongod2.log
chmod 777 /data/mongodb/mongod2.log
path: /data/mongodb/mongod.log
dbPath: /data/mongodb/mongo
port: 27018
bindIp: 0.0.0.0
mongod -f /etc/mongod2.conf
mongo --port 27018
netstat -anpt | grep mongod
mongodb中創(chuàng)建庫是和表緊密聯(lián)系在一起的,要?jiǎng)?chuàng)建庫,只需要use使用即可,當(dāng)你沒有在庫中創(chuàng)建集合(表),則該庫便不會(huì)存在,當(dāng)你創(chuàng)建了集合之后,庫也相應(yīng)的同時(shí)存在。
> use python //若不存在則會(huì)自動(dòng)創(chuàng)建python庫,若是不創(chuàng)建集合,又會(huì)自行刪除
> db.createCollection('a') //創(chuàng)建名稱為a的集合
> db.a.insert({“name”:“zhangsan”,"score":90,"hobby":["game","talk","sport"]})
//集合中插入數(shù)據(jù);字符串使用雙引號(hào);數(shù)值不加雙引號(hào);字符串?dāng)?shù)組使用[]括起來
> db.users.update() //更改數(shù)據(jù)
> show collections //查看集合
> db.a.drop() //刪除集合
> db.dropDatabase() //刪除數(shù)據(jù)庫
> use stady //使用庫
switched to db stady
> db.createCollection('school') //創(chuàng)建school集合
{ "ok" : 1 }
> db.school.insert({"id":1,"name":"lisi","score":90}) //向集合中插入數(shù)據(jù)
WriteResult({ "nInserted" : 1 })
> db.school.find() //查看集合中數(shù)據(jù)
{ "_id" : ObjectId("5b4843900edf47ef3aa006f3"), "id" : 1, "name" : "lisi", "score" : 90 }
> for(var i=2;i<=5;i++)db.school.insert({"id":i,"name":"tom"+i})
//向集合中插入多條數(shù)據(jù)
WriteResult({ "nInserted" : 1 })
> db.school.find() //查看集合數(shù)據(jù)
{ "_id" : ObjectId("5b4843900edf47ef3aa006f3"), "id" : 1, "name" : "lisi", "score" : 90 }
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f4"), "id" : 2, "name" : "tom2" }
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f6"), "id" : 4, "name" : "tom4" }
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f7"), "id" : 5, "name" : "tom5" }
> db.school.findOne({"id":3}) //查看集合中第三條數(shù)據(jù)
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }
> a=db.school.findOne({"id":3}) //查看第三條記錄,并將其賦予別名a
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }
> typeof(a.id) //查看屬性類型
number //屬性為數(shù)字
> typeof(a.name) //查看屬性類型
string //屬性為字符串
> db.school.update({"id":3},{$set:{"name":"jack"}}) //修改數(shù)據(jù)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.school.findOne({"id":3})
{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "jack" }
> db.school.count() //統(tǒng)計(jì)集合中有多少條記錄
5
> db.createCollection('tea') //創(chuàng)建新集合
{ "ok" : 1 }
> show tables //查看庫中集合
school
tea
> db.tea.drop() //刪除集合
true
> show tables
school //集合已刪除
> show dbs //查看庫
admin 0.000GB
config 0.000GB
local 0.000GB
python 0.000GB
stady 0.000GB
> use python
switched to db python
> db.dropDatabase() //刪除python數(shù)據(jù)庫,首先必須先進(jìn)數(shù)據(jù)庫,在選擇刪除
{ "dropped" : "python", "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
stady 0.000GB
>
[root@Nginx mongodb]#mongoexport -d stady -c school -o /opt/school.json
//導(dǎo)出stady庫中的school集合到/opt下,命名為school.json 注意:文件名一定是.json結(jié)尾,要在linux模式操作
[root@Nginx mongodb]#mongoimport -d stady -c school2 --file /opt/school.json
[root@Nginx mongodb]# mongoexport -d stady -c school -q '{"id":{"$eq":3}}' -o /opt/top3.json
mkdir /backup //創(chuàng)建備份文件夾
mongodump -d stady -o /backup/
mongorestore -d chen --dir=/backup/stady
db.copyDatabase() //復(fù)制數(shù)據(jù)庫
####實(shí)例演示
db.copyDatabase("stady","stady2") //將stady庫復(fù)制一個(gè)副本stady2
show dbs //查看所有庫
show tables //查看庫中所有集合
mongo -port 27018 //進(jìn)入新實(shí)例
db.runCommand({"cloneCollection":"stady.school","from":"172.16.10.27:27017"})
db.currentOp()
db.killOp(1689)
當(dāng)你覺得某個(gè)進(jìn)程占用資源量特別大時(shí),可以將其結(jié)束,當(dāng)你結(jié)束其之后,它又會(huì)重新加載,相當(dāng)于進(jìn)程初始化
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:Yum安裝MongoDB及數(shù)據(jù)庫管理-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article16/dieodg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、定制網(wǎng)站、域名注冊(cè)、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容