偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MongoDB實(shí)戰(zhàn):工具集與特殊魔術(shù)方法

云計(jì)算 MongoDB
MongoDB除了支持命令行的啟動方式還支持配置文件啟動通過讀取啟動配置文件的方式來啟動數(shù)據(jù)庫。

一、MongoDB啟動方式

MongoDB除了支持命令行的啟動方式還支持配置文件啟動通過讀取啟動配置文件的方式來啟動數(shù)據(jù)庫比方說配置文件如下

 

181718808.png

 

則可以使用如下命令

1
./mongod -f /etc/mongodb.conf

MongoDB參數(shù)說明

dbpath:

數(shù)據(jù)文件存放路徑每個(gè)數(shù)據(jù)庫會在其中創(chuàng)建一個(gè)子目錄用于防止同一個(gè)實(shí)例多次運(yùn)

行的mongod.lock也保存在此目錄中。

logpath

錯誤日志文件

logappend

錯誤日志采用追加模式默認(rèn)是覆寫模式

bind_ip

對外服務(wù)的綁定ip一般設(shè)置為空及綁定在本機(jī)所有可用ip上如有需要可以單獨(dú)

指定

port

對外服務(wù)端口。Web管理端口在這個(gè)port的基礎(chǔ)上+1000

fork

以后臺Daemon形式運(yùn)行服務(wù)

journal

開啟日志功能通過保存操作日志來降低單機(jī)故障的恢復(fù)時(shí)間在1.8版本后正式加入

取代在1.7.5版本中的dur參數(shù)。

syncdelay

系統(tǒng)同步刷新磁盤的時(shí)間單位為秒默認(rèn)是60秒。

directoryperdb

每個(gè)db存放在單獨(dú)的目錄中建議設(shè)置該參數(shù)。與MySQL的獨(dú)立表空間類似

maxConns

最大連接數(shù)

repairpath

執(zhí)行repair時(shí)的臨時(shí)目錄。在如果沒有開啟journal異常down機(jī)后重啟必須執(zhí)行repair

操作。

停止數(shù)據(jù)庫這里有一點(diǎn)需要注意

使用kill-2或者pkill都可以但是不要使用kill-9來殺死MongoDB進(jìn)程這樣會導(dǎo)致MongoDB的數(shù)據(jù)損壞。

二、常用工具集

MongoDB在bin目錄下提供了一系列有用的工具這些工具提供了MongoDB在運(yùn)維管理上

的方便。

bsondump:將bson格式的文件轉(zhuǎn)儲為json格式的數(shù)據(jù)

mongo:客戶端命令行工具其實(shí)也是一個(gè)js解釋器支持js語法

mongod:數(shù)據(jù)庫服務(wù)端每個(gè)實(shí)例啟動一個(gè)進(jìn)程可以fork為后臺運(yùn)行

mongodump/mongorestore:數(shù)據(jù)庫備份和恢復(fù)工具

mongoexport/mongoimport:數(shù)據(jù)導(dǎo)出和導(dǎo)入工具

mongofiles:GridFS管理工具可實(shí)現(xiàn)二制文件的存取

mongos:分片路由如果使用了sharding功能則應(yīng)用程序連接的是mongos而不是

mongod

mongosniff:這一工具的作用類似于tcpdump不同的是他只監(jiān)控MongoDB相關(guān)的包請

求并且是以指定的可讀性的形式輸出

mongostat:實(shí)時(shí)性能監(jiān)控工具

三、一些很重要的魔術(shù)方法

1、$all匹配所有

這個(gè)操作符跟SQL語法的in類似但不同的是,in只需滿足()內(nèi)的某一個(gè)值即可,而$all必

須滿足[]內(nèi)的所有值例如:

db.users.find({age:{$all:[6,8]}});

可以查詢出{name:'David',age:26,age:[6,8,9]}

但查詢不出{name:'David',age:26,age:[6,7,9]}

2、$mod取模運(yùn)算

查詢age取模10等于0的數(shù)據(jù)

db.student.find({age:{$mod:[10,1]}})

舉例如下:

C1表的數(shù)據(jù)如下:

1
2
3
4
> db.c1.find()
"_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }
"_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }
"_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

查詢age取模6等于1的數(shù)據(jù)

1
2
> db.c1.find({age: {$mod : [ 6 , 1 ] } })
"_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }

可以看出只顯示出了age取模6等于1的數(shù)據(jù)其它不符合規(guī)則的數(shù)據(jù)并沒有顯示出來

3、$size數(shù)組元素個(gè)數(shù)

對于{name:'David',age:26,favorite_number:[6,7,9]}記錄

匹配db.users.find({favorite_number:{$size:3}});

不匹配db.users.find({favorite_number:{$size:2}});

4、$slice取數(shù)組中指定段的記錄

 

192847132.png

 

5、$看實(shí)例吧

{"_id":1,"semester":1,"grades":[70,87,90]}

{"_id":2,"semester":1,"grades":[90,88,92]}

{"_id":3,"semester":1,"grades":[85,100,90]}

{"_id":4,"semester":2,"grades":[79,85,80]}

{"_id":5,"semester":2,"grades":[88,88,92]}

{"_id":6,"semester":2,"grades":[95,90,96]}

 

結(jié)果這樣

{"_id":1,"grades":[87]}

{"_id":2,"grades":[90]}

{"_id":3,"grades":[85]}

四、存儲過程

MongoDB存儲過程是存儲在db.system.js表中的我們想象一個(gè)簡單的sql自定義函數(shù)如下

存儲過程的定義查看和執(zhí)行

 

194708616.png

 

本文出自 “phper-每天一點(diǎn)點(diǎn)~” 博客,請務(wù)必保留此出處http://janephp.blog.51cto.com/4439680/1322792

 

責(zé)任編輯:王程程 來源: 51CTO博客
相關(guān)推薦

2010-11-03 10:31:51

PHP魔術(shù)方法

2023-01-31 08:03:32

部署mongod配置

2016-10-27 15:58:35

魔術(shù)方法PHP

2022-11-16 08:00:37

MongoDB阿里云的登錄

2010-03-05 09:23:32

Linux快捷鍵

2019-10-22 15:15:09

數(shù)據(jù)庫MySQL RouteMySQL

2016-12-01 19:51:03

PHP魔術(shù)詳解

2025-04-22 07:52:59

2022-02-21 11:24:14

代碼工具開發(fā)

2013-12-02 11:00:27

MongoDB

2017-04-26 08:51:36

MongoDB集群實(shí)戰(zhàn)

2013-11-25 10:45:04

MongoDB

2013-11-28 09:48:55

MongoDBSharding分片

2009-12-15 15:19:30

Ruby訪問控制

2010-02-22 17:43:19

WCF服務(wù)啟動

2010-09-13 14:25:03

2025-03-13 08:10:00

惡意軟件網(wǎng)絡(luò)攻擊漏洞

2020-12-08 06:24:08

Java 代碼工具

2009-09-18 13:53:09

LINQ工具集

2018-01-29 12:39:56

數(shù)據(jù)庫MongoDB集群
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號