本文實(shí)例講述了PHP數(shù)據(jù)庫(kù)mongodb用法。分享給大家供大家參考,具體如下:
傳統(tǒng)數(shù)據(jù)庫(kù)中,我們要操作數(shù)據(jù)庫(kù)數(shù)據(jù)都要書寫大量的sql語(yǔ)句,而且在進(jìn)行無(wú)規(guī)則數(shù)據(jù)的存儲(chǔ)時(shí),傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)建表時(shí)對(duì)不同字段的處理也顯得有些乏力,mongo應(yīng)運(yùn)而生,而且ajax技術(shù)的廣泛應(yīng)用,json格式的廣泛接受,也使得mongo更貼近開發(fā)人員。
mongo簡(jiǎn)介及應(yīng)用場(chǎng)景
MongoDB是一個(gè)面向文檔的非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL),使用json格式存儲(chǔ)。Mongo DB很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷?OO思想),在Mongo DB中 每一條記錄都是一個(gè)Document對(duì)象。Mongo DB最大的優(yōu)勢(shì)在于所有的數(shù)據(jù)持久操作都無(wú)需開發(fā)人員手動(dòng)編寫SQL語(yǔ)句,直接調(diào)用方法就可以輕松的實(shí)現(xiàn)CRUD操作。
mongo能應(yīng)用在如下場(chǎng)景:
存儲(chǔ)大尺寸、低價(jià)值的數(shù)據(jù)
json及對(duì)象類型數(shù)據(jù)
網(wǎng)站緩存數(shù)據(jù)
評(píng)論、子評(píng)論類有明顯從屬關(guān)系數(shù)據(jù)
多服務(wù)器數(shù)據(jù),其內(nèi)置的MapReduce很容易現(xiàn)實(shí)全局遍歷。
安裝和使用mongodb
我們?cè)诠倬W(wǎng) https://www.mongodb.org/ 上可以下載到其最新穩(wěn)定版本 ,mongo是官方已經(jīng)編譯好的,解壓后即可使用其命令都在bin目錄下。
使用前首先配置mongo.conf文件
port=xxxxx //代表端口號(hào),如果不指定則默認(rèn)為 27017 dbpath=/usr/local/mongodb/db //數(shù)據(jù)庫(kù)路徑 logpath=/usr/local/mongodb/logs/mongodb.log //日志路徑 logappend=true //日志文件自動(dòng)累加,而不是覆蓋 fork=ture //以守護(hù)進(jìn)程方式創(chuàng)建
數(shù)據(jù)庫(kù)和數(shù)據(jù)表都可以直接創(chuàng)建,即不用切換,直接使用,使用時(shí)即創(chuàng)建,mongo里還可以直接寫js腳本,可直接運(yùn)行,mongo中如果不指定_id字段,mongo會(huì)自動(dòng)添加一個(gè)。
mongo的各種命令
mongo的命令是其精髓,這些十分復(fù)雜的命令集合在一塊,使得mongo的查詢變得絢麗而高效。mongo內(nèi)的每個(gè)表稱作一個(gè)collection(集合),使用命令類似于MySQL,切換到數(shù)據(jù)庫(kù)內(nèi)直接對(duì)每一個(gè)collection操作。其命令由方法(func())、查詢體(寫在{}里)和操作符(由$開頭)組成。
基本命令
show dbs //查看數(shù)據(jù)庫(kù) use dbname //切換到數(shù)據(jù)庫(kù) db.createCollection('collection') //創(chuàng)建數(shù)據(jù)表 db.collection.drop() //刪除數(shù)據(jù)表 db.dropDatabase() //刪數(shù)據(jù)庫(kù) db.collection.insert({data}) //插入數(shù)據(jù) db.collection.find() //顯示數(shù)據(jù)表內(nèi)全部?jī)?nèi)容
查詢體
{key.attr.attr:value} //普通式 {key:{$ne|$gt|$gte|$lt|$lte|$in|$nin|$all:value}} //key滿足 $oper value的值 {$or|$and|$not|$nor:[{key1:{$gt:value}},{key2:{$ne:value}}]} //用$oper同時(shí)限定key1,key2的條件 {key:{$mod{8,2}}} //取出key對(duì)8取余為2的值。 {key:{$exist:1}} //取出key列存在的值。 {key:{$type:String|Double|Array|Date|Object|Boolean|......}}//查詢key類型為type的列 {key:{$regex:/pattern【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。