自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

一、MongoDB啟動方式

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

 

181718808.png

 

則可以使用如下命令

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

MongoDB參數(shù)說明

dbpath:

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

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

logpath

錯誤日志文件

logappend

錯誤日志采用追加模式默認是覆寫模式

bind_ip

對外服務的綁定ip一般設置為空及綁定在本機所有可用ip上如有需要可以單獨

指定

port

對外服務端口。Web管理端口在這個port的基礎上+1000

fork

以后臺Daemon形式運行服務

journal

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

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

syncdelay

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

directoryperdb

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

maxConns

最大連接數(shù)

repairpath

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

操作。

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

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

二、常用工具集

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

的方便。

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

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

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

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

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

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

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

mongod

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

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

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

三、一些很重要的魔術方法

1、$all匹配所有

這個操作符跟SQL語法的in類似但不同的是,in只需滿足()內(nèi)的某一個值即可,而$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取模運算

查詢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ù)組元素個數(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、$看實例吧

{"_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表中的我們想象一個簡單的sql自定義函數(shù)如下

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

 

194708616.png

 

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

 

責任編輯:王程程 來源: 51CTO博客
相關推薦

2010-11-03 10:31:51

PHP魔術方法

2023-01-31 08:03:32

部署mongod配置

2016-10-27 15:58:35

魔術方法PHP

2022-11-16 08:00:37

MongoDB阿里云的登錄

2010-03-05 09:23:32

Linux快捷鍵

2016-12-01 19:51:03

PHP魔術詳解

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集群實戰(zhàn)

2019-10-22 15:15:09

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

2013-11-28 09:48:55

MongoDBSharding分片

2013-11-25 10:45:04

MongoDB

2009-12-15 15:19:30

Ruby訪問控制

2025-03-13 08:10:00

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

2010-02-22 17:43:19

WCF服務啟動

2010-09-13 14:25:03

2009-09-18 13:53:09

LINQ工具集

2025-04-27 01:33:23

MongoDBDocker容器

2018-01-29 12:39:56

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

51CTO技術棧公眾號