mongodb安裝就不說了,請參考:centos yum 安裝 mongodb 以及php擴(kuò)展
一,創(chuàng)建,切換,刪除數(shù)據(jù)庫
[root@localhost zhangy]# mongo MongoDB shell version: 2.4.6 connecting to: tank > use test //創(chuàng)建 or 切換數(shù)據(jù)庫 switched to db test > db.dropDatabase() //刪除數(shù)據(jù)庫 { "dropped" : "test", "ok" : 1 }
二,php創(chuàng)建,切換,刪除數(shù)據(jù)庫
1,切換數(shù)據(jù)庫
$mongo = new Mongo(); $db = $mongo->selectDB('test'); //切換數(shù)據(jù)庫
2,創(chuàng)建數(shù)據(jù)庫
$mongo = new Mongo(); $db = $mongo->selectDB('test'); $users = $db->createCollection("users"); $alldb = $mongo->listDBs(); //列出所有數(shù)據(jù)庫 print_r($alldb); //可以看到db創(chuàng)建成功了
在這里要注意一下,如果你不創(chuàng)建一個(gè)collection(根關(guān)系型數(shù)據(jù)庫的表基本上是一樣的),是創(chuàng)建不了數(shù)據(jù)庫的。
3,刪除數(shù)據(jù)庫
$mongo = new Mongo(); $db = $mongo->selectDB('test'); $db->drop();
三,小節(jié)
這篇文章很簡單吧,哈哈,不想在一篇文章里面寫太多的東西,折開來寫,看的更清楚一點(diǎn),更細(xì)一點(diǎn)。
在這兒要提一下,mongodb命令下的幫助,這個(gè)對于命令行操作很有幫助。
1,db的幫助
db.AddUser(username,password) 添加用戶 db.auth(usrename,password) 設(shè)置數(shù)據(jù)庫連接驗(yàn)證 db.cloneDataBase(fromhost) 從目標(biāo)服務(wù)器克隆一個(gè)數(shù)據(jù)庫 db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb,todb,fromhost) 復(fù)制數(shù)據(jù)庫fromdb---源數(shù)據(jù)庫名稱,todb---目標(biāo)數(shù)據(jù)庫名稱,fromhost---源數(shù)據(jù)庫服務(wù)器地址 db.createCollection(name,{size:3333,capped:333,max:88888}) 創(chuàng)建一個(gè)數(shù)據(jù)集,相當(dāng)于一個(gè)表 db.currentOp() 取消當(dāng)前庫的當(dāng)前操作 db.dropDataBase() 刪除當(dāng)前數(shù)據(jù)庫 db.eval(func,args) run code server-side db.getCollection(cname) 取得一個(gè)數(shù)據(jù)集合,同用法:db['cname'] or db.getCollenctionNames() 取得所有數(shù)據(jù)集合的名稱列表 db.getLastError() 返回最后一個(gè)錯(cuò)誤的提示消息 db.getLastErrorObj() 返回最后一個(gè)錯(cuò)誤的對象 db.getMongo() 取得當(dāng)前服務(wù)器的連接對象get the server db.getMondo().setSlaveOk() allow this connection to read from then nonmaster membr of a replica pair db.getName() 返回當(dāng)操作數(shù)據(jù)庫的名稱 db.getPrevError() 返回上一個(gè)錯(cuò)誤對象 db.getProfilingLevel() 獲取profile level db.getReplicationInfo() 獲得重復(fù)的數(shù)據(jù) db.getSisterDB(name) get the db at the same server as this onew db.killOp() 停止(殺死)在當(dāng)前庫的當(dāng)前操作 db.printCollectionStats() 返回當(dāng)前庫的數(shù)據(jù)集狀態(tài) db.printReplicationInfo() 打印主數(shù)據(jù)庫的復(fù)制狀態(tài)信息 db.printSlaveReplicationInfo() 打印從數(shù)據(jù)庫的復(fù)制狀態(tài)信息 db.printShardingStatus() 返回當(dāng)前數(shù)據(jù)庫是否為共享數(shù)據(jù)庫 db.removeUser(username) 刪除用戶 db.repairDatabase() 修復(fù)當(dāng)前數(shù)據(jù)庫 db.resetError() db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into {cmdObj:1} db.setProfilingLevel(level) 設(shè)置profile level 0=off,1=slow,2=all db.shutdownServer() 關(guān)閉當(dāng)前服務(wù)程序 db.version() 返回當(dāng)前程序的版本信息
2,表的幫助,格式,db.表名.help()
db.test.find({id:10}) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集 db.test.find({id:10}).count() 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)總數(shù) db.test.find({id:10}).limit(2) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集從第二條開始的數(shù)據(jù)集 db.test.find({id:10}).skip(8) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集從0到第八條的數(shù)據(jù)集 db.test.find({id:10}).limit(2).skip(8) 返回test數(shù)據(jù)集ID=1=的數(shù)據(jù)集從第二條到第八條的數(shù)據(jù) db.test.find({id:10}).sort() 返回test數(shù)據(jù)集ID=10的排序數(shù)據(jù)集 db.test.findOne([query]) 返回符合條件的一條數(shù)據(jù) db.test.getDB() 返回此數(shù)據(jù)集所屬的數(shù)據(jù)庫名稱 db.test.getIndexes() 返回些數(shù)據(jù)集的索引信息 db.test.group({key:...,initial:...,reduce:...[,cond:...]}) 返回分組信息 db.test.mapReduce(mayFunction,reduceFunction,<optional params>) 這個(gè)有點(diǎn)像存儲過程 db.test.remove(query) 在數(shù)據(jù)集中刪除一條數(shù)據(jù) db.test.renameCollection(newName) 重命名些數(shù)據(jù)集名稱 db.test.save(obj) 往數(shù)據(jù)集中插入一條數(shù)據(jù) db.test.stats() 返回此數(shù)據(jù)集的狀態(tài) db.test.storageSize() 返回此數(shù)據(jù)集的存儲大小 db.test.totalIndexSize() 返回此數(shù)據(jù)集的索引文件大小 db.test.totalSize() 返回些數(shù)據(jù)集的總大小 db.test.update(query,object[,upsert_bool]) 在此數(shù)據(jù)集中更新一條數(shù)據(jù) db.test.validate() 驗(yàn)證此數(shù)據(jù)集 db.test.getShardVersion() 返回?cái)?shù)據(jù)集共享版本號
|
新聞熱點(diǎn)
疑難解答